Skip to content

Instantly share code, notes, and snippets.

@chongma
Created July 9, 2021 09:37
Show Gist options
  • Select an option

  • Save chongma/e8e9e312a4ab46e683afae2da813cf88 to your computer and use it in GitHub Desktop.

Select an option

Save chongma/e8e9e312a4ab46e683afae2da813cf88 to your computer and use it in GitHub Desktop.
Resource adapter loads but deployments not found
package org.superbiz;
import java.io.PrintWriter;
import java.net.URL;
import java.util.Set;
import javax.annotation.Resource;
import javax.naming.NamingException;
import javax.naming.Reference;
import javax.resource.ResourceException;
import javax.resource.cci.Connection;
import javax.resource.cci.ConnectionFactory;
import javax.resource.cci.ConnectionMetaData;
import javax.resource.cci.ConnectionSpec;
import javax.resource.cci.Interaction;
import javax.resource.cci.RecordFactory;
import javax.resource.cci.ResourceAdapterMetaData;
import javax.resource.cci.ResultSetInfo;
import javax.resource.spi.ActivationSpec;
import javax.resource.spi.BootstrapContext;
import javax.resource.spi.ConnectionEventListener;
import javax.resource.spi.ConnectionManager;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.LocalTransaction;
import javax.resource.spi.ManagedConnection;
import javax.resource.spi.ManagedConnectionFactory;
import javax.resource.spi.ManagedConnectionMetaData;
import javax.resource.spi.ResourceAdapterInternalException;
import javax.resource.spi.endpoint.MessageEndpointFactory;
import javax.security.auth.Subject;
import javax.transaction.xa.XAResource;
import org.apache.openejb.jee.ConnectionDefinition;
import org.apache.openejb.jee.Connector;
import org.apache.openejb.jee.OutboundResourceAdapter;
import org.apache.openejb.jee.ResourceAdapter;
import org.apache.openejb.testing.Application;
import org.apache.openejb.testing.Classes;
import org.apache.openejb.testing.ContainerProperties;
import org.apache.openejb.testing.Default;
import org.apache.openejb.testing.Descriptor;
import org.apache.openejb.testing.Descriptors;
import org.apache.openejb.testing.Module;
import org.apache.openejb.testing.RandomPort;
import org.apache.openejb.testing.SimpleLog;
import org.apache.tomee.chatterbox.nats.adapter.NATSResourceAdapter;
import org.apache.tomee.chatterbox.nats.adapter.out.NATSConnectionFactoryImpl;
import org.apache.tomee.chatterbox.nats.adapter.out.NATSConnectionImpl;
import org.apache.tomee.chatterbox.nats.adapter.out.NATSManagedConnectionFactory;
import org.apache.tomee.chatterbox.nats.api.NATSConnection;
import org.apache.tomee.chatterbox.nats.api.NATSConnectionFactory;
import org.mockito.Mock;
@Default
@SimpleLog
@Classes(cdi = true, context = "/", value = { EchoBean.class, Sender.class })
@ContainerProperties({
@ContainerProperties.Property(name = "NATS.baseAddress", value = "nats://localhost:4223"),
@ContainerProperties.Property(name = "NATS.clusterId", value = "mycluster"),
@ContainerProperties.Property(name = "NATS.clientId", value = "tomee1")
})
@Application
public class AppDescriptor2 {
@RandomPort("http")
private URL base;
public URL getBase() {
return base;
}
// @Mock
// private EchoBean echoBean;
@Module
public Connector connector() {
final ConnectionDefinition connectionDefinition = new ConnectionDefinition();
connectionDefinition.setId("NATSConnectionFactory");
connectionDefinition.setConnectionImplClass(NATSConnectionImpl.class.getName());
connectionDefinition.setConnectionInterface(NATSConnection.class.getName());
connectionDefinition.setConnectionFactoryImplClass(NATSConnectionFactoryImpl.class.getName());
connectionDefinition.setConnectionFactoryInterface(NATSConnectionFactory.class.getName());
connectionDefinition.setManagedConnectionFactoryClass(NATSManagedConnectionFactory.class.getName());
final OutboundResourceAdapter out = new OutboundResourceAdapter();
out.getConnectionDefinition().add(connectionDefinition);
final ResourceAdapter ra = new ResourceAdapter();
ra.setId("NATS");
ra.setResourceAdapterClass(NATSResourceAdapter.class.getName());
ra.setOutboundResourceAdapter(out);
final Connector connector = new Connector();
connector.setVersion("1.7");
connector.setResourceAdapter(ra);
return connector;
}
}
INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@6321e813
INFO - Succeeded in installing singleton service
INFO - Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed.
INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Creating TransactionManager(id=Default Transaction Manager)
INFO - Creating SecurityService(id=Default Security Service)
INFO - Web features will not be available, add openejb-http if you need them
INFO - Configuring enterprise application: /home/mbroadhead/git/tomee-chatterbox/chatterbox-nats/chatterbox-nats-sample-war/AppDescriptor2
INFO - Auto-deploying ejb Sender: EjbDeployment(deployment-id=Sender)
INFO - Auto-deploying ejb Echo: EjbDeployment(deployment-id=Echo)
INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
INFO - Auto-creating a container for bean org.superbiz.AppDescriptor2: Container(type=MANAGED, id=Default Managed Container)
INFO - Creating Container(id=Default Managed Container)
INFO - Using directory /tmp for stateful session passivation
INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
INFO - Auto-creating a container for bean Sender: Container(type=SINGLETON, id=Default Singleton Container)
INFO - Creating Container(id=Default Singleton Container)
INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.Sender/cf' in bean Sender to Resource(id=NATSConnectionFactory)
INFO - Configuring Service(id=Default MDB Container, type=Container, provider-id=Default MDB Container)
INFO - Auto-creating a container for bean Echo: Container(type=MESSAGE, id=Default MDB Container)
INFO - Configuring Service(id=Default JMS Resource Adapter, type=Resource, provider-id=Default JMS Resource Adapter)
INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource, provider-id=Default Unmanaged JDBC Database)
INFO - Creating Resource(id=Default Unmanaged JDBC Database)
INFO - Creating Resource(id=Default JMS Resource Adapter)
INFO - Thread pool size for 'Default JMS Resource Adapter' is (30)
INFO - ActiveMQ5Factory creating broker
INFO - Using ActiveMQ startup timeout of 10000ms
INFO - Starting ActiveMQ BrokerService
INFO - Using Persistence Adapter: MemoryPersistenceAdapter
INFO - Apache ActiveMQ 5.16.0 (localhost, ID:localhost.localdomain-33703-1625823298627-0:1) is starting
INFO - Listening for connections at: tcp://localhost:61616
INFO - Connector tcp://localhost:61616 started
INFO - Apache ActiveMQ 5.16.0 (localhost, ID:localhost.localdomain-33703-1625823298627-0:1) started
INFO - For help or more information please see: http://activemq.apache.org
INFO - Starting ActiveMQ checkpoint
INFO - ActiveMQ broker started
INFO - Creating Container(id=Default MDB Container)
INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.Sender/cf' in bean Echo to Resource(id=NATSConnectionFactory)
INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.Sender/cf' in bean /.Comp1322642290 to Resource(id=NATSConnectionFactory)
INFO - Dumping Generated ra.xml to: /tmp/ra-11618498945723102921connector.xml
INFO - Configuring Service(id=NATS, type=Resource, provider-id=NATS)
INFO - Configuring Service(id=NATSConnectionFactory, type=Resource, provider-id=NATSConnectionFactory)
INFO - Enterprise application "/home/mbroadhead/git/tomee-chatterbox/chatterbox-nats/chatterbox-nats-sample-war/AppDescriptor2" loaded.
INFO - Creating dedicated application classloader for AppDescriptor2
INFO - Assembling app: /home/mbroadhead/git/tomee-chatterbox/chatterbox-nats/chatterbox-nats-sample-war/AppDescriptor2
INFO - Creating Resource(id=NATS)
INFO - Thread pool size for 'NATS' is (30)
INFO - Creating Resource(id=NATSConnectionFactory)
INFO - Creating ConnectionManager for Resource(id=NATSConnectionFactory)
INFO - No runtime TransactionSupport
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.openejb.util.proxy.LocalBeanProxyFactory$Unsafe (file:/home/mbroadhead/.m2/repository/org/apache/tomee/openejb-core/8.0.6/openejb-core-8.0.6.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of org.apache.openejb.util.proxy.LocalBeanProxyFactory$Unsafe
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@6321e813
INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
INFO - OpenWebBeans Container is starting...
INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
INFO - Undeploying app: /home/mbroadhead/git/tomee-chatterbox/chatterbox-nats/chatterbox-nats-sample-war/AppDescriptor2
INFO - Stopping ResourceAdapter: NATS
SEVERE - undeployException original cause
java.lang.Exception: deployment not found: Sender
at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2368)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1100)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:759)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:755)
at org.apache.openejb.testing.ApplicationComposers.deployApp(ApplicationComposers.java:724)
at org.apache.openejb.testing.SingleApplicationComposerRunner$2.deployApp(SingleApplicationComposerRunner.java:148)
at org.apache.openejb.testing.ApplicationComposers.before(ApplicationComposers.java:386)
at org.apache.openejb.testing.SingleApplicationComposerRunner.start(SingleApplicationComposerRunner.java:169)
at org.apache.openejb.testing.SingleApplicationComposerRunner.access$100(SingleApplicationComposerRunner.java:43)
at org.apache.openejb.testing.SingleApplicationComposerRunner$1$1.evaluate(SingleApplicationComposerRunner.java:103)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
SEVERE - undeployException original cause
java.lang.Exception: deployment not found: Echo
at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2368)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1100)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:759)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:755)
at org.apache.openejb.testing.ApplicationComposers.deployApp(ApplicationComposers.java:724)
at org.apache.openejb.testing.SingleApplicationComposerRunner$2.deployApp(SingleApplicationComposerRunner.java:148)
at org.apache.openejb.testing.ApplicationComposers.before(ApplicationComposers.java:386)
at org.apache.openejb.testing.SingleApplicationComposerRunner.start(SingleApplicationComposerRunner.java:169)
at org.apache.openejb.testing.SingleApplicationComposerRunner.access$100(SingleApplicationComposerRunner.java:43)
at org.apache.openejb.testing.SingleApplicationComposerRunner$1$1.evaluate(SingleApplicationComposerRunner.java:103)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
SEVERE - undeployException original cause
java.lang.Exception: deployment not found: /.Comp1322642290
at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2368)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1100)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:759)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:755)
at org.apache.openejb.testing.ApplicationComposers.deployApp(ApplicationComposers.java:724)
at org.apache.openejb.testing.SingleApplicationComposerRunner$2.deployApp(SingleApplicationComposerRunner.java:148)
at org.apache.openejb.testing.ApplicationComposers.before(ApplicationComposers.java:386)
at org.apache.openejb.testing.SingleApplicationComposerRunner.start(SingleApplicationComposerRunner.java:169)
at org.apache.openejb.testing.SingleApplicationComposerRunner.access$100(SingleApplicationComposerRunner.java:43)
at org.apache.openejb.testing.SingleApplicationComposerRunner$1$1.evaluate(SingleApplicationComposerRunner.java:103)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment