我正在尝试在Payara 5(Payara服务器5.183 #badassfish(内部版本380))服务器上部署应用程序。此应用程序可在Weblogic 11g / 12c上正常运行,但是当我尝试在Payara上对其进行配置时遇到一些问题。
此应用程序使用的是Mule ESB,并定义了以下资源适配器(我遇到了问题,我已经设法解决了该问题)。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com The software in this package is
published under the terms of the CPAL v1.0 license, a copy of which has been included with this distribution in the
LICENSE.txt file. $Id: ra.xml 7976 2007-08-21 14:26:13Z dirk.olmes $
-->
<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd" version="1.5">
<description>Mule Universal Resource Adapter</description>
<display-name>Mule Universal Resource Adapter</display-name>
<vendor-name>MuleSource Inc.</vendor-name>
<eis-type>MULE</eis-type>
<resourceadapter-version>1.3</resourceadapter-version>
<license>
<description>
Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
The software in this package is published under the terms of the CPAL v1.0
license, a copy of which has been included with this distribution in the
LICENSE.txt file.
</description>
<license-required>true</license-required>
</license>
<resourceadapter>
<resourceadapter-class>com.project.integration.esb.ra.ProjectMuleResourceAdapter</resourceadapter-class>
<config-property>
<description>
A comma separated list of configuration resources to configure a Mule Manager instance.
These can be a list of files on the classpath or filesystem. And the type of file
referenced depends on the configurationBuilder set on this Adapter.
</description>
<config-property-name>Configurations</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>
sib-mule-config.xml,
com/project/integration/esb/connector/mule-connectors-config.xml,
com/project/integration/esb/endpoint/mule-endpoints-config.xml,
com/project/integration/esb/transformer/mule-transformers-config.xml
,
com/project/integration/esb/mule-global-components-config.xml
,
com/project/service/core/query/mule-sync-query-config.xml,
com/project/service/core/query/mule-async-query-config.xml,
com/project/service/core/notification/mule-notification-config.xml,
com/project/integration/esb/channels/mule-largedata-channel-config.xml
,
com/project/integration/esb/channels/mule-unordered-channel-extended-config.xml
,
com/project/service/queries/nc/mule-nc-queries-config.xml,
com/project/integration/esb/channels/mule-synchronous-channel-extended-config.xml
</config-property-value>
</config-property>
<config-property>
<description>
A fully qualified classname of the configuration builder.
Mule has Xml, Spring and Groovy configuration builders. By default This
ResourceAdapter will use org.mule.config.builders.MuleXmlConfigurationBuilder.
If there is a Mule instance already available to this ResourceAdapter this
property will be ignored.
</description>
<config-property-name>ConfigurationBuilder</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>org.mule.config.builders.MuleXmlConfigurationBuilder</config-property-value>
</config-property>
<config-property>
<description>The default user name that will be used to log on to the Mule server.</description>
<config-property-name>UserName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<config-property>
<description>The password for the default User.</description>
<config-property-name>Password</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<outbound-resourceadapter>
<connection-definition>
<managedconnectionfactory-class>org.mule.ra.MuleManagedConnectionFactory</managedconnectionfactory-class>
<connectionfactory-interface>org.mule.ra.MuleConnectionFactory</connectionfactory-interface>
<connectionfactory-impl-class>org.mule.ra.DefaultMuleConnectionFactory</connectionfactory-impl-class>
<connection-interface>org.mule.ra.MuleConnection</connection-interface>
<connection-impl-class>org.mule.ra.DefaultMuleConnection</connection-impl-class>
</connection-definition>
<transaction-support>NoTransaction</transaction-support>
<authentication-mechanism>
<authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
<credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
</authentication-mechanism>
<reauthentication-support>false</reauthentication-support>
</outbound-resourceadapter>
<inbound-resourceadapter>
<messageadapter>
<messagelistener>
<messagelistener-type>org.mule.umo.lifecycle.Callable</messagelistener-type>
<activationspec>
<activationspec-class>org.mule.ra.MuleActivationSpec</activationspec-class>
<required-config-property>
<description>
A valid Mule endpoint URI such as,
pop3://user:password@mail.host.com or
vm://test.component
</description>
<config-property-name>endpoint</config-property-name>
</required-config-property>
</activationspec>
</messagelistener>
</messageadapter>
</inbound-resourceadapter>
</resourceadapter>
现在,当我尝试将其发送到Payara服务器时,请求已处理了很长时间,最后我在日志文件中收到以下异常
[2018-09-26T11:53:32.918+0200] [Payara 5.183] [SEVERE] []
[javax.enterprise.system.core] [tid: _ThreadID=232 _ThreadName=admin-thread-pool::admin-listener(6)] [timeMillis: 1537955612918] [levelValue: 1000] [[
javax/resource/spi/ActivationSpec
java.lang.ClassNotFoundException: javax.resource.spi.ActivationSpec
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at com.sun.enterprise.v3.server.APIClassLoaderServiceImpl$APIClassLoader.loadClass(APIClassLoaderServiceImpl.java:281)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at com.sun.enterprise.loader.CurrentBeforeParentClassLoader.loadClass(CurrentBeforeParentClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at com.sun.enterprise.loader.CurrentBeforeParentClassLoader.loadClass(CurrentBeforeParentClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at com.sun.enterprise.loader.CurrentBeforeParentClassLoader.loadClass(CurrentBeforeParentClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.sun.enterprise.connectors.deployment.util.ConnectorValidator.getClass(ConnectorValidator.java:242)
at com.sun.enterprise.connectors.deployment.util.ConnectorValidator.validateActivationSpec(ConnectorValidator.java:155)
at com.sun.enterprise.connectors.deployment.util.ConnectorValidator.accept(ConnectorValidator.java:79)
at com.sun.enterprise.connectors.deployment.util.ConnectorValidator.accept(ConnectorValidator.java:72)
at com.sun.enterprise.deployment.BundleDescriptor.visit(BundleDescriptor.java:643)
at com.sun.enterprise.connectors.deployment.util.ConnectorArchivist.postOpen(ConnectorArchivist.java:173)
at com.sun.enterprise.connectors.deployment.util.ConnectorArchivist.postOpen(ConnectorArchivist.java:72)
at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:271)
at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:278)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors(ApplicationArchivist.java:628)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:249)
at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:232)
at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:189)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:223)
at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:91)
at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:933)
at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:873)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepare(ApplicationLifecycle.java:383)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:540)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
at org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:263)
at org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:234)
at org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:285)
at org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:136)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:704)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:377)
at org.glassfish.admin.rest.adapter.RestAdapter$2.service(RestAdapter.java:322)
at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:182)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
at java.lang.Thread.run(Thread.java:748)
]]
有什么想法吗?