All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.sessions.coordination.ServiceId Maven / Gradle / Ivy

There is a newer version: 4.0.2
Show newest version
/*
 * Copyright (c) 1998, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     Oracle - initial API and implementation from Oracle TopLink
//     dminsky - changed id to use a String UUID instead of String hashcode()
package org.eclipse.persistence.sessions.coordination;

import java.io.Serializable;
import java.util.UUID;

/**
 * 

* Purpose: Encapsulate the information that uniquely identifies a specific * remote command service instance. *

* Description: A service instance consists primarily of a CommandManager * and its associated components including its CommandProcessor, CommandConverter, * DiscoveryManager and TransportManager. Whenever a service instance sends out an * announcement or remote command to the cluster the service id is included in the * message. * * @see org.eclipse.persistence.internal.sessions.coordination.ServiceAnnouncement * @author Steven Vo * @since OracleAS TopLink 10g (9.0.4) */ public class ServiceId implements Serializable { /** Generated unique id to distinguish the service instance from all others */ private String id; /** The logical channel that the service instance subscribes to */ private String channel; /** Url of the service instance */ private String url; /* Cached display string to prevent rebuilding */ private transient String displayString; /** This $HOST token indicate that the host ip of the URL should be replaced at runtime by user input */ public final static String HOST_TOKEN = "$HOST"; /** This $HOST token indicate that the host ip of the URL should be replaced at runtime by user input */ public final static String PORT_TOKEN = "$PORT"; public ServiceId() { super(); // Use UUID value instead of hashcode value for id id = String.valueOf(UUID.randomUUID()); } public ServiceId(String channel, String id, String url) { this.channel = channel; this.id = id; this.url = url; } /** * INTERNAL: * Return the URL for the service */ public String getURL() { return url; } /** * INTERNAL: * Set the URL for the service */ public void setURL(String newUrl) { url = newUrl; displayString = null; } /** * INTERNAL: * Get the unique identifier for the service */ public String getId() { return this.id; } /** * INTERNAL: * Set the unique identifier for the service */ public void setId(String newId) { this.id = newId; displayString = null; } /** * INTERNAL: * Return the logical channel that this service subscribes to */ public String getChannel() { return channel; } /** * INTERNAL: * Set the logical channel that this service subscribes to */ public void setChannel(String newChannel) { channel = newChannel; displayString = null; } public String toString() { if (displayString == null) { displayString = "Service[" + channel + ", " + id + ", " + url + "]"; } return displayString; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy