com.bea.connector
Interface WLIResourceAdapter

All Superinterfaces:
ResourceAdapter
All Known Implementing Classes:
AbstractWLIResourceAdapter

public interface WLIResourceAdapter
extends ResourceAdapter

Interface representing an instance of a resource adapter. This interface add the following features to the base ResourceAdapter interface.


Method Summary
 void addAdapterStatusListener(AdapterStatusListener listener)
          Add a new AdapterStatusListener.
 void addConnectionFactory(String name, javax.resource.cci.ConnectionFactory factory)
          Add a ConnectionFactory with the given name into this ResourceAdapter
 javax.resource.cci.ConnectionFactory getConnectionFactory(String name)
          Get the ConnectionFactory instance with the given name, which is being managed for this ResourceAdapter instance.
 Status getConnectionFactoryStatus(String name)
          Get the status of a ConnectionFactory with the given name being managed by this adapter instance.
 String getGUID()
          Gets the globally unique identifier for this adapter instance, or null if none has been given.
 String[] getInboundMessagingInstanceIDs()
          Get the array of logical inbound messaging instance identifiers for this adapter instance, or null if none have been set.
 Status getInboundMessagingStatus()
          Get the status of the inbound section of this adapter instance.
 String getName()
          Gets the name of this adapter instance, or null if none has been given.
 boolean isInboundMessagingEnabled()
          Indicates if this adapter instance is configured to handle inbound messaging.
 Iterator listConnectionFactoryNames()
          List the names of the ConnectionFactories being managed for this ResourceAdapter instance.
 void refreshInboundMessaging()
          Set, after a call to start, whether this adapter instance should have its inbound messaging section active or not.
 void removeAdapterStatusListener(AdapterStatusListener listener)
          Remove an existing AdapterStatusListener
 javax.resource.cci.ConnectionFactory removeConnectionFactory(String name)
          Remove a ConnectionFactory with the given name from this ResourceAdapter.
 void resumeInboundMessaging()
          Resume inbound messaging.
 void setGUID(String guid)
          Sets the globally unique identifier for this adapter instance.
 void setInboundMessagingEnabled(boolean newValue)
          Set whether this adapter instance is configured to handle inbound messaging or not.
 void setInboundMessagingInstanceIDs(String[] instanceIDs)
          Set an array of logical inbound messaging instance identifiers for this adapter instance.
 void setName(String name)
          Sets the logical name of this adapter instance.
 boolean supportsSuspendInboundMessaging()
          Indicate whether this ResourceAdapter can suspend its inbound messaging section.
 void suspendInboundMessaging()
          Suspend the inbound messaging section for this ResourceAdapter instance.
 void validate()
          Called by the client that is configuring an instance of this WLIResourceAdapter class after all the JavaBeans properties have been set.
 
Methods inherited from interface com.bea.connector.ResourceAdapter
endpointActivation, endpointDeactivation, getXAResources, start, stop
 

Method Detail

setName

public void setName(String name)
Sets the logical name of this adapter instance. This name represents the set of configuration that defines the adapter instance. This adapter instance can actually be instantiated on multiple servers, and each would share the same name.


getName

public String getName()
Gets the name of this adapter instance, or null if none has been given.


setGUID

public void setGUID(String guid)
Sets the globally unique identifier for this adapter instance.


getGUID

public String getGUID()
Gets the globally unique identifier for this adapter instance, or null if none has been given.


setInboundMessagingInstanceIDs

public void setInboundMessagingInstanceIDs(String[] instanceIDs)
Set an array of logical inbound messaging instance identifiers for this adapter instance. The use or definition of these identifiers is adapter specific. However, these are intended to identify a logical instance for inbound messages. This instance can be moved around between servers. For example, a single adapter instance might have n inbound messaging instance IDs, and in a nominal cluster configuration each is assigned to a single adapter instance on a single server in the cluster. In failure situations, however, the instance IDs for the failed server could be associated with a different adapter instance on a different (live) server to cause inbound messages destined for the instance id to be processed on the live server.


getInboundMessagingInstanceIDs

public String[] getInboundMessagingInstanceIDs()
Get the array of logical inbound messaging instance identifiers for this adapter instance, or null if none have been set.


validate

public void validate()
              throws javax.resource.ResourceException
Called by the client that is configuring an instance of this WLIResourceAdapter class after all the JavaBeans properties have been set. This method provides an opportunity to control the procedural initialization of a WLIResourceAdapter instance with knowledge that the full property set has been set on the instance.

Throws:
javax.resource.ResourceException

getConnectionFactory

public javax.resource.cci.ConnectionFactory getConnectionFactory(String name)
Get the ConnectionFactory instance with the given name, which is being managed for this ResourceAdapter instance. If no ConnectionFactory instance with the given name was created from within the current ResourceAdapter instance, this method returns null.


addConnectionFactory

public void addConnectionFactory(String name,
                                 javax.resource.cci.ConnectionFactory factory)
Add a ConnectionFactory with the given name into this ResourceAdapter


removeConnectionFactory

public javax.resource.cci.ConnectionFactory removeConnectionFactory(String name)
Remove a ConnectionFactory with the given name from this ResourceAdapter.


listConnectionFactoryNames

public Iterator listConnectionFactoryNames()
List the names of the ConnectionFactories being managed for this ResourceAdapter instance.


isInboundMessagingEnabled

public boolean isInboundMessagingEnabled()
Indicates if this adapter instance is configured to handle inbound messaging. Not all instances will be given the configuration needed to do this, so inbound messaging will be initialized only for those adapter instances that return true from this method.


setInboundMessagingEnabled

public void setInboundMessagingEnabled(boolean newValue)
Set whether this adapter instance is configured to handle inbound messaging or not. Not all instances will be given the configuration needed to do this, so inbound messaging should be enabled only for those adapter instances that are given the proper configuration. Note, a call to this method has no immediate effect for a WLIResourceAdapter that has already had its 'start()' method called. The caller must also call refreshInboundMessaging() in this case.


refreshInboundMessaging

public void refreshInboundMessaging()
                             throws javax.resource.ResourceException
Set, after a call to start, whether this adapter instance should have its inbound messaging section active or not. This call can result in the inbound messaging changing state to match the desired state. The desired state should already have been set by calling setInboundMessagingEnabled() and setInboundMessagingInstanceIDs(). Note, implementations should respond to this method call only after start() has been called. This allows runtime control of inbound messaging. Note also, that any time this method is called, the implementation should check the value of getInboundMessagingInstanceIDs() to see if they have changed since the last time this method or start() was called.

Throws:
javax.resource.ResourceException

supportsSuspendInboundMessaging

public boolean supportsSuspendInboundMessaging()
Indicate whether this ResourceAdapter can suspend its inbound messaging section. This means that when suspended, the ResourceAdapter will store any inbound messages (either on the EIS or internally) reliably until it is resumed.


suspendInboundMessaging

public void suspendInboundMessaging()
                             throws javax.resource.NotSupportedException,
                                    javax.resource.ResourceException
Suspend the inbound messaging section for this ResourceAdapter instance. All inbound messages must be reliably stored (either on the EIS or internally) until this instance is resumed.

Throws:
javax.resource.NotSupportedException
javax.resource.ResourceException

resumeInboundMessaging

public void resumeInboundMessaging()
                            throws javax.resource.NotSupportedException,
                                   javax.resource.ResourceException
Resume inbound messaging. Any messages that were accepted by this ResourceAdapter instance (either on the EIS or internally) should now be delivered to endpoints.

Throws:
javax.resource.NotSupportedException
javax.resource.ResourceException

getInboundMessagingStatus

public Status getInboundMessagingStatus()
Get the status of the inbound section of this adapter instance.


getConnectionFactoryStatus

public Status getConnectionFactoryStatus(String name)
Get the status of a ConnectionFactory with the given name being managed by this adapter instance.


addAdapterStatusListener

public void addAdapterStatusListener(AdapterStatusListener listener)
Add a new AdapterStatusListener.


removeAdapterStatusListener

public void removeAdapterStatusListener(AdapterStatusListener listener)
Remove an existing AdapterStatusListener