public class JoramResourceAdapter extends Object implements jakarta.resource.spi.ResourceAdapter, jakarta.jms.ExceptionListener, Serializable
JoramResourceAdapter
instance manages connectivities to an underlying
JORAM server: outbound connectivity (JCA connection management contract) and
inbound connectivity (asynchronous message delivery as specified by the JCA
message inflow contract).Modifier and Type | Class and Description |
---|---|
static class |
JoramResourceAdapter.Status |
Modifier and Type | Field and Description |
---|---|
private Vector<String> |
boundNames
Names of the bound objects.
|
private Hashtable<String,jakarta.jms.XAConnection> |
connections
Table holding the adapter's
XAConnection instances used for
recovering the XA resources. |
private Hashtable<ActivationSpecImpl,InboundConsumer> |
consumers
Table holding the adapter's
InboundConsumer instances,
for inbound messaging. |
protected static String |
jmxRootName
Name of the root in the MBean tree
|
protected JndiHelper |
jndiHelper
the jndi helper
|
protected String |
jndiName
the Joram resource adapter jndi name
|
static Logger |
logger |
protected String |
name
the Joram resource adapter name
|
private Vector<ManagedConnectionImpl> |
producers
Vector holding the
ManagedConnectionImpl instances for
managed outbound messaging. |
private static long |
serialVersionUID
Define serialVersionUID for interoperability.
|
protected JoramResourceAdapter.Status |
status
The resource adapter status.
|
private jakarta.resource.spi.work.WorkManager |
workManager
WorkManager instance provided by the application server. |
Constructor and Description |
---|
JoramResourceAdapter()
Constructs a
JoramResourceAdapter instance. |
JoramResourceAdapter(MBeanServer jmxServer)
Constructs a
JoramResourceAdapter instance. |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addProducer(ManagedConnectionImpl managedCx)
Adds a given managed connection to the list of producers.
|
protected void |
bind(String name,
Object obj)
Binds an object to the JNDI context.
|
void |
createCF(String name,
ManagedConnectionFactoryImpl mcf)
Creates a non managed connection factory and binds it to JNDI.
|
String |
createQueue(String name) |
void |
createQueueCF(String name,
ManagedConnectionFactoryImpl mcf)
Creates a non managed PTP connection factory and binds it to JNDI.
|
String |
createTopic(String name) |
void |
createTopicCF(String name,
ManagedConnectionFactoryImpl mcf)
Creates a non managed PubSub connection factory and binds it to JNDI.
|
String |
createUser(String userName,
String password,
String identityClass) |
void |
endpointActivation(jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory,
jakarta.resource.spi.ActivationSpec spec)
Notifies the adapter to setup asynchronous message delivery for an
application server endpoint.
|
void |
endpointDeactivation(jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory,
jakarta.resource.spi.ActivationSpec spec)
Notifies the adapter to deactivate message delivery for a given endpoint.
|
private ConnectionFactory |
getConnectionFactory(ActivationSpecImpl specImpl) |
String |
getJMSProviderName()
Get the provider name: Joram.
|
String |
getJMSVersion()
Gets the JMS API version.
|
String |
getJndiName() |
String |
getName() |
String |
getProviderVersion()
Gets the Joram's implementation version.
|
int |
getStatus() |
String |
getStatusInfo() |
XAResource[] |
getXAResources(jakarta.resource.spi.ActivationSpec[] specs)
Returns XA resources given an array of ActivationSpec instances.
|
void |
onException(jakarta.jms.JMSException exception) |
void |
reconnect() |
(package private) void |
removeProducer(ManagedConnectionImpl managedCx)
Removes a given managed connection from the list of producers.
|
void |
setJmxServer(MBeanServer jmxServer) |
void |
setJndiName(String jndiName) |
void |
setName(String name) |
void |
setWorkManager(jakarta.resource.spi.work.WorkManager workManager) |
void |
start() |
void |
start(jakarta.resource.spi.BootstrapContext ctx)
Initializes the adapter
|
void |
stop()
Notifies the adapter to terminate the connections it manages, and if
needed.
|
protected void |
unbind(String name)
Unbinds an object from the JNDI context.
|
private static final long serialVersionUID
public static Logger logger
protected JndiHelper jndiHelper
protected JoramResourceAdapter.Status status
protected static String jmxRootName
private transient jakarta.resource.spi.work.WorkManager workManager
WorkManager
instance provided by the application server.protected String name
protected String jndiName
private transient Hashtable<ActivationSpecImpl,InboundConsumer> consumers
InboundConsumer
instances,
for inbound messaging.
Key: ActivationSpec
instance
Value: InboundConsumer
instance
private transient Vector<ManagedConnectionImpl> producers
ManagedConnectionImpl
instances for
managed outbound messaging.public JoramResourceAdapter()
JoramResourceAdapter
instance.public JoramResourceAdapter(MBeanServer jmxServer)
JoramResourceAdapter
instance.public int getStatus()
public String getStatusInfo()
public void setJmxServer(MBeanServer jmxServer)
public void setWorkManager(jakarta.resource.spi.work.WorkManager workManager)
public String getName()
public void setName(String name)
name
- the name to setpublic String getJndiName()
public void setJndiName(String jndiName)
jndiName
- the jndiName to setpublic String createUser(String userName, String password, String identityClass) throws Exception
Exception
private ConnectionFactory getConnectionFactory(ActivationSpecImpl specImpl)
public void start(jakarta.resource.spi.BootstrapContext ctx) throws jakarta.resource.spi.ResourceAdapterInternalException
start
in interface jakarta.resource.spi.ResourceAdapter
jakarta.resource.spi.ResourceAdapterInternalException
- If the adapter could not be
initialized.public void start() throws jakarta.resource.spi.ResourceAdapterInternalException
jakarta.resource.spi.ResourceAdapterInternalException
public void stop()
stop
in interface jakarta.resource.spi.ResourceAdapter
public void endpointActivation(jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory, jakarta.resource.spi.ActivationSpec spec) throws jakarta.resource.ResourceException
endpointActivation
in interface jakarta.resource.spi.ResourceAdapter
jakarta.resource.spi.IllegalStateException
- If the adapter is either not started,
or stopped.jakarta.resource.NotSupportedException
- If the provided activation parameters
are invalid.jakarta.resource.spi.CommException
- If the JORAM server is not reachable.SecurityException
- If connecting is not allowed.jakarta.resource.ResourceException
- Generic exception.public XAResource[] getXAResources(jakarta.resource.spi.ActivationSpec[] specs) throws jakarta.resource.ResourceException
getXAResources
in interface jakarta.resource.spi.ResourceAdapter
jakarta.resource.spi.IllegalStateException
- If the adapter is either not started,
or stopped.jakarta.resource.NotSupportedException
- If provided activation parameters
are invalid.jakarta.resource.spi.CommException
- If the JORAM server is not reachable.SecurityException
- If connecting is not allowed.jakarta.resource.ResourceException
- Generic exception.void addProducer(ManagedConnectionImpl managedCx)
public void onException(jakarta.jms.JMSException exception)
onException
in interface jakarta.jms.ExceptionListener
public void endpointDeactivation(jakarta.resource.spi.endpoint.MessageEndpointFactory endpointFactory, jakarta.resource.spi.ActivationSpec spec)
endpointDeactivation
in interface jakarta.resource.spi.ResourceAdapter
void removeProducer(ManagedConnectionImpl managedCx)
public String getJMSVersion()
public String getJMSProviderName()
public String getProviderVersion()
protected void unbind(String name)
public void createCF(String name, ManagedConnectionFactoryImpl mcf)
name
- Name of created connection factory.public void createQueueCF(String name, ManagedConnectionFactoryImpl mcf)
name
- Name of created connection factory.public void createTopicCF(String name, ManagedConnectionFactoryImpl mcf)
name
- Name of created connection factory.Copyright © 2023 ScalAgent D.T.. All rights reserved.