所以我这样做了:
获取QPID包: http://qpid.apache.org/components/qpid-jca/
像: http://www.apache.org/dyn/closer.lua/qpid/0.32/qpid-java-0.32.tar.gz
在爆炸文件夹中,在pom.xml上运行Maven,如下所示: mvn clean install -DskipTests
下载互联网......好吧,开玩笑吧。排序。
从子文件夹qpid-java-xxx \ jca \ rar \ target中获取.rar文件,应该看起来像qpid-ra-0.32.rar。
随着Glassfish服务器(Java 1.8 *上的4.1)运行,我试图像这样部署资源适配器:
c:\ Program Files \ glassfish-4.1 \ bin> asadmin deploy --type rar --name q-rar C:\ User 小号\ MOE \下载\ qpid-java的0.32.tar \ qpid-java的0.32 \ qpid-java的0.32 \ JCA \ RAR \目标\ qpid-RA-0.32.rar 远程故障:部署期间发生错误:加载ap时出现异常 p:无法启动资源适配器:找不到javax.transaction.Transa ctionManager。有关更多详细信息,请参阅server.log。 命令部署失败。
这里有什么问题?
*)Java:1.8.0_45; Java HotSpot(TM)64位服务器VM 25.45-b02 运行时:Java(TM)SE运行时环境1.8.0_45-b15
Glassfish上的完整异常堆栈跟踪:
Schwerwiegend:RAR6035:资源适配器启动失败。 javax.resource.spi.ResourceAdapterInternalException:找不到javax.transaction.TransactionManager 在org.apache.qpid.ra.QpidResourceAdapter.locateTM(QpidResourceAdapter.java:707) 在org.apache.qpid.ra.QpidResourceAdapter.start(QpidResourceAdapter.java:171) at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.startResourceAdapter(ActiveOutboundResourceAdapter.java:183) at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.init(ActiveOutboundResourceAdapter.java:130) at com.sun.enterprise.connectors.inbound.ActiveInboundResourceAdapterImpl.init(ActiveInboundResourceAdapterImpl.java:90) 在com.sun.enterprise.connectors.ActiveRAFactory.instantiateActiveResourceAdapter(ActiveRAFactory.java:141) 在com.sun.enterprise.connectors.ActiveRAFactory.createActiveResourceAdapter(ActiveRAFactory.java:108) at com.sun.enterprise.connectors.service.ResourceAdapterAdminServiceImpl.createActiveResourceAdapter(ResourceAdapterAdminServiceImpl.java:210) 在com.sun.enterprise.connectors.ConnectorRuntime.createActiveResourceAdapter(ConnectorRuntime.java:412) 在com.sun.enterprise.connectors.module.ConnectorDeployer.load(ConnectorDeployer.java:197) 在com.sun.enterprise.connectors.module.ConnectorDeployer.load(ConnectorDeployer.java:92) 在org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:206) 在org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:313) 在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:496) 在com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 在org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:539) 在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2 $ 1.run(CommandRunnerImpl.java:535) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:360) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ 2.execute(CommandRunnerImpl.java:534) 在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 3.run(CommandRunnerImpl.java:565) 在com.sun.enterprise.v3.admin.CommandRunnerImpl $ 3.run(CommandRunnerImpl.java:557) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:360) 在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) 在com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) 在com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1300(CommandRunnerImpl.java:109) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1846) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1722) 在org.glassfish.admin.rest.resources.admin.CommandResource.executeCommand(CommandResource.java:404) at org.glassfish.admin.rest.resources.admin.CommandResource.execCommandSimpInMultOut(CommandResource.java:234) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:497) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory $ 1.invoke(ResourceMethodInvocationHandlerFactory.java:81) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher $ 1.run(AbstractJavaResourceMethodDispatcher.java:151) 在org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider $ ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104) 在org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:387) 在org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:331) 在org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:103) 在org.glassfish.jersey.server.ServerRuntime $ 1.run(ServerRuntime.java:271) 在org.glassfish.jersey.internal.Errors $ 1.call(Errors.java:271) 在org.glassfish.jersey.internal.Errors $ 1.call(Errors.java:267) 在org.glassfish.jersey.internal.Errors.process(Errors.java:315) 在org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在org.glassfish.jersey.internal.Errors.process(Errors.java:267) 在org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297) 在org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254) 在org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 在org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:365) 在org.glassfish.admin.rest.adapter.JerseyContainerCommandService $ 3.service(JerseyContainerCommandService.java:173) 在org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:179) at com.sun.enterprise.v3.services.impl.ContainerMapper $ HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 在org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 在org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 在org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 在org.glassfish.grizzly.filterchain.ExecutorResolver $ 9.execute(ExecutorResolver.java:119) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 在org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 在org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 在org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access $ 100(WorkerThreadIOStrategy.java:56) 在org.glassfish.grizzly.strategies.WorkerThreadIOStrategy $ WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:565) 在org.glassfish.grizzly.threadpool.AbstractThreadPool $ Worker.run(AbstractThreadPool.java:545) 在java.lang.Thread.run(Thread.java:745)
Warnung:RAR8038:无法加载资源适配器[azra],com.sun.appserv.connectors.internal.api.ConnectorRuntimeException:无法启动资源适配器:找不到javax.transaction.TransactionManager Schwerwiegend:调用类com.sun.enterprise.connectors.module.ConnectorDeployer加载方法时出现异常 java.lang.RuntimeException:无法启动资源适配器:找不到javax.transaction.TransactionManager 在com.sun.enterprise.connectors.module.ConnectorDeployer.load(ConnectorDeployer.java:209)