use of org.jboss.jca.core.spi.rar.ResourceAdapterRepository in project wildfly by wildfly.
the class EJBUtilities method createActivationSpecs.
public ActivationSpec createActivationSpecs(final String resourceAdapterName, final Class<?> messageListenerInterface, final Properties activationConfigProperties, final ClassLoader classLoader) {
try {
// first get the ra "identifier" (with which it is registered in the resource adapter repository) for the
// ra name
final String raIdentifier = ConnectorServices.getRegisteredResourceAdapterIdentifier(resourceAdapterName);
if (raIdentifier == null) {
throw EjbLogger.ROOT_LOGGER.unknownResourceAdapter(resourceAdapterName);
}
final ResourceAdapterRepository resourceAdapterRepository = getResourceAdapterRepository();
if (resourceAdapterRepository == null) {
throw EjbLogger.ROOT_LOGGER.resourceAdapterRepositoryUnAvailable();
}
// now get the message listeners for this specific ra identifier
final List<MessageListener> messageListeners = resourceAdapterRepository.getMessageListeners(raIdentifier);
if (messageListeners == null || messageListeners.isEmpty()) {
throw EjbLogger.ROOT_LOGGER.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
MessageListener requiredMessageListener = null;
// now find the expected message listener from the list of message listeners for this resource adapter
for (final MessageListener messageListener : messageListeners) {
if (messageListenerInterface.equals(messageListener.getType())) {
requiredMessageListener = messageListener;
break;
}
}
if (requiredMessageListener == null) {
throw EjbLogger.ROOT_LOGGER.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
// found the message listener, now finally create the activation spec
final Activation activation = requiredMessageListener.getActivation();
// filter out the activation config properties, specified on the MDB, which aren't accepted by the resource
// adaptor
final Properties validActivationConfigProps = this.filterUnknownActivationConfigProperties(resourceAdapterName, activation, activationConfigProperties);
// now set the activation config properties on the ActivationSpec
final ActivationSpec activationSpec = activation.createInstance();
BeanUtils.mapJavaBeanProperties(activationSpec, validActivationConfigProps);
return activationSpec;
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (ResourceException e) {
throw new RuntimeException(e);
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (NotFoundException e) {
throw new RuntimeException(e);
} catch (IntrospectionException e) {
throw new RuntimeException(e);
}
}
use of org.jboss.jca.core.spi.rar.ResourceAdapterRepository in project wildfly by wildfly.
the class MessageDrivenComponentCreateService method createActivationSpecs.
private ActivationSpec createActivationSpecs(final String resourceAdapterName, final Class<?> messageListenerInterface, final Properties activationConfigProperties, final ClassLoader classLoader) {
try {
// first get the ra "identifier" (with which it is registered in the resource adapter repository) for the
// ra name
final String raIdentifier = ConnectorServices.getRegisteredResourceAdapterIdentifier(resourceAdapterName);
if (raIdentifier == null) {
throw EjbLogger.ROOT_LOGGER.unknownResourceAdapter(resourceAdapterName);
}
final ResourceAdapterRepository resourceAdapterRepository = resourceAdapterRepositoryInjectedValue.getValue();
if (resourceAdapterRepository == null) {
throw EjbLogger.ROOT_LOGGER.resourceAdapterRepositoryUnAvailable();
}
// now get the message listeners for this specific ra identifier
final List<MessageListener> messageListeners = resourceAdapterRepository.getMessageListeners(raIdentifier);
if (messageListeners == null || messageListeners.isEmpty()) {
throw EjbLogger.ROOT_LOGGER.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
MessageListener requiredMessageListener = null;
// now find the expected message listener from the list of message listeners for this resource adapter
for (final MessageListener messageListener : messageListeners) {
if (messageListenerInterface.equals(messageListener.getType())) {
requiredMessageListener = messageListener;
break;
}
}
if (requiredMessageListener == null) {
throw EjbLogger.ROOT_LOGGER.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
// found the message listener, now finally create the activation spec
final Activation activation = requiredMessageListener.getActivation();
// filter out the activation config properties, specified on the MDB, which aren't accepted by the resource
// adaptor
final Properties validActivationConfigProps = this.filterUnknownActivationConfigProperties(resourceAdapterName, activation, activationConfigProperties);
// now set the activation config properties on the ActivationSpec
final ActivationSpec activationSpec = activation.createInstance();
BeanUtils.mapJavaBeanProperties(activationSpec, validActivationConfigProps);
return activationSpec;
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (ResourceException e) {
throw new RuntimeException(e);
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (NotFoundException e) {
throw new RuntimeException(e);
} catch (IntrospectionException e) {
throw new RuntimeException(e);
}
}
use of org.jboss.jca.core.spi.rar.ResourceAdapterRepository in project wildfly by wildfly.
the class NoRaAnnoTestCase method testActivation.
/**
* Test activation
*
* @param clazz class name
* @throws Throwable Thrown if case of an error
*/
public void testActivation(Class clazz) throws Throwable {
ServiceController<?> controller = serviceContainer.getService(ConnectorServices.RA_REPOSITORY_SERVICE);
assertNotNull(controller);
ResourceAdapterRepository raRepository = (ResourceAdapterRepository) controller.getValue();
Set<String> ids = raRepository.getResourceAdapters(clazz);
assertNotNull(ids);
assertEquals(1, ids.size());
String piId = ids.iterator().next();
assertNotNull(piId);
Endpoint endpoint = raRepository.getEndpoint(piId);
assertNotNull(endpoint);
List<MessageListener> listeners = raRepository.getMessageListeners(piId);
assertNotNull(listeners);
assertEquals(2, listeners.size());
MessageListener listener = listeners.get(0);
MessageListener listener1 = listeners.get(1);
ActivationSpec as = listener.getActivation().createInstance();
ActivationSpec as1 = listener1.getActivation().createInstance();
assertNotNull(as);
assertNotNull(as.getResourceAdapter());
assertNotNull(as1);
assertNotNull(as1.getResourceAdapter());
AnnoActivationSpec tas = (AnnoActivationSpec) as;
log.trace("AS:" + tas + "//1//" + tas.getFirst() + "//2//" + tas.getSecond());
assertEquals(new Character('C'), tas.getFirst());
assertEquals(new Double(0.5), tas.getSecond());
assertTrue(tas.getResourceAdapter() instanceof AnnoResourceAdapter);
AnnoResourceAdapter tra = (AnnoResourceAdapter) tas.getResourceAdapter();
log.trace("RA:" + tra + "//1//" + tra.getFirst() + "//2//" + tra.getSecond());
assertEquals("A", tra.getFirst());
assertEquals(new Integer(5), tra.getSecond());
}
use of org.jboss.jca.core.spi.rar.ResourceAdapterRepository in project wildfly by wildfly.
the class ActivationNameTestCase method testSimpleResourceAdapterAvailability.
@Test
public void testSimpleResourceAdapterAvailability() throws Exception {
ServiceController<?> controller = serviceContainer.getService(ConnectorServices.RA_REPOSITORY_SERVICE);
assertNotNull(controller);
ResourceAdapterRepository repository = (ResourceAdapterRepository) controller.getValue();
assertNotNull(repository);
Set<String> ids = repository.getResourceAdapters(SimpleListener.class);
assertNotNull(ids);
assertEquals(1, ids.size());
String piId = ids.iterator().next();
assertTrue(piId.indexOf("SimpleResourceAdapter") != -1);
Endpoint endpoint = repository.getEndpoint(piId);
assertNotNull(endpoint);
}
use of org.jboss.jca.core.spi.rar.ResourceAdapterRepository in project wildfly by wildfly.
the class InflowTestCase method testRegistryConfiguration.
/**
* Test configuration
*
* @throws Throwable Thrown if case of an error
*/
@Test
public void testRegistryConfiguration() throws Throwable {
ServiceController<?> controller = serviceContainer.getService(ConnectorServices.RA_REPOSITORY_SERVICE);
assertNotNull(controller);
ResourceAdapterRepository repository = (ResourceAdapterRepository) controller.getValue();
assertNotNull(repository);
Set<String> ids = repository.getResourceAdapters(javax.jms.MessageListener.class);
assertNotNull(ids);
int pureInflowListener = 0;
for (String id : ids) {
if (id.indexOf("PureInflow") != -1) {
pureInflowListener++;
}
}
assertEquals(1, pureInflowListener);
String piId = ids.iterator().next();
assertNotNull(piId);
Endpoint endpoint = repository.getEndpoint(piId);
assertNotNull(endpoint);
List<MessageListener> listeners = repository.getMessageListeners(piId);
assertNotNull(listeners);
assertEquals(1, listeners.size());
MessageListener listener = listeners.get(0);
ActivationSpec as = listener.getActivation().createInstance();
assertNotNull(as);
assertNotNull(as.getResourceAdapter());
}
Aggregations