ProtocolBridgePropertiesExit2.java
/*
* Licensed Materials - Property of IBM
*
* "Restricted Materials of IBM"
*
* 5724-H72
*
* Copyright IBM Corp. 2011, 2024. All Rights Reserved.
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with
* IBM Corp.
*/
package com.ibm.wmqfte.exitroutine.api;
import java.util.Map;
import java.util.Properties;
/**
* An interface that is implemented by classes that are to be invoked as part of
* user exit routine processing. This interface defines methods that will be
* invoked by a protocol bridge agent to look up properties for protocol servers
* that are referenced in transfers.
* <p>
* There will be one instance of each implementation class for each protocol
* bridge agent. The methods can be called from different threads so the methods
* must be synchronised.
*/
public interface ProtocolBridgePropertiesExit2 {
/**
* Invoked once when a protocol bridge agent is started. It is intended to
* initialize any resources that are required by the exit.
*
* @param bridgeProperties
* The values of properties defined for the protocol bridge.
* These values can only be read, they cannot be updated by the
* implementation.
* @return {@code true} if the initialization is successful and {@code
* false} if unsuccessful. If {@code false} is returned from an exit
* the protocol bridge agent will not start.
*/
public boolean initialize(final Map<String, String> bridgeProperties);
/**
* Invoked when the Protocol Bridge needs to access the protocol bridge credentials XML file.
*
* @return a {@link String} object giving the location of the ProtocolBridgeCredentials.xml
*/
public String getCredentialLocation ();
/**
* Obtains a set of properties for the specified protocol server name.
* <p>
* The returned {@link Properties} must contain entries with key names
* corresponding to the constants defined in
* {@link ProtocolServerPropertyConstants} and in particular must include an
* entry for all appropriate constants described as required.
*
* @param protocolServerName
* The name of the protocol server whose properties are to be
* returned. If a null or a blank value is specified, properties
* for the default protocol server are to be returned.
* @return The {@link Properties} for the specified protocol server, or null
* if the server cannot be found.
*/
public Properties getProtocolServerProperties(
final String protocolServerName);
/**
* Invoked once when a protocol bridge agent is shut down. It is intended to
* release any resources that were allocated by the exit.
*
* @param bridgeProperties
* The values of properties defined for the protocol bridge.
* These values can only be read, they cannot be updated by the
* implementation.
*/
public void shutdown(final Map<String, String> bridgeProperties);
}