Guava 15 lib in jboss as 7.2 - java

My webapp using guava-15.jar lib, but in start jboss as 7.2 results exception:
17:26:57,330 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.deployment.unit."ROOT.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."ROOT.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Set] with qualifiers [#Default] at injection point [[parameter 1] of [constructor] #Inject com.google.common.util.concurrent.ServiceManager(Set)]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:311)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:280)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:143)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:163)
at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:382)
at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:367)
at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
... 3 more
But if remove library my application works.

It's been a while since this post, but in case anyone else comes across this...
This appears to be due to Guava 15.0 being deployed into a CDI 1.0 container.
See this post/fix, especially comment #16 (if using maven). I can't speak to whether they've created this cdi1.0 jar for versions 16 or 17.
Guava 15 cannot be deployed in an environment using CDI 1.0 such as JEE6
For convenience, the Maven dependency:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>15.0</version>
<classifier>cdi1.0</classifier>
</dependency>

Related

Maven EAR dependency structure

I'm trying to deploy an EAR to Wildfly 10 via Eclipse Neon with the latest JBoss Tools. This is my first attempt with EARs, so I documented myself and this is the structure I came up with:
Maven modules:
api (type jar, no deps): contains the interfaces MyService and Person.
ejb (type ejb, depends on api): contains a #Stateless implementation of MyService and an #Entity implementation of Person.
war (type war, depends on api): contains a JAX-RS resource which uses MyService.
ear (type ear, depends on ejb and war): the EAR module.
(See here for the full source: https://github.com/heruan/maven-ear-example)
The problem is when I deploy this to Wildfly, I get:
java.lang.NoClassDefFoundError: Failed to link ejb/MyServiceImpl: api/MyService
Full stack trace:
INFO [org.jboss.weld.deployer] (MSC service thread 1-6) WFLYWELD0003: Processing weld deployment ear-1.0.0.ear
WARN [org.jboss.modules] (MSC service thread 1-6) Failed to define class ejb.MyServiceImpl in Module "deployment.ear-1.0.0.ear.ejb-1.0.0.jar:main" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link ejb/MyServiceImpl (Module "deployment.ear-1.0.0.ear.ejb-1.0.0.jar:main" from Service Module Loader): api/MyService
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.__newInstance(DelegatingConstructorAccessorImpl.java:45)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
at org.jboss.modules.Module.loadModuleClass(Module.java:606)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:21)
at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:14)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:84)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
What am I missing? My goal is to have the most basic EAR with a common JPA Persistence Unit shared by its modules.
I found out what the problem was: duplicate .class files. Seems like the Maven EAR plugin isn't clever enough to avoid duplicate dependencies, so you need to explicitly set them as provided.
For example, the solution in the example project is to set the api module as provided in the war's pom.xml:
<dependency>
<groupId>com.example</groupId>
<artifactId>api</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>

Wildfly - 10.x - WELD-001414: Bean name is ambiguous. Name csfFLOWDISCOVERYCDIHELPER resolves to beans

Server - WildFly - 10.1.0
JSF version - 2.2
Primefaces - 5.0
I am trying to deploy .war file in WildFly 10.1.0 server. Earlier I was running it on JBoss 7.1 and we had it working fine. But now when I try to deploy the application in WildFly server and am getting below set of exceptions which makes to failed deployment.
09:05:02,630 SEVERE [javax.enterprise.resource.webcontainer.jsf.application.view] (MSC service thread 1-3) Unable to obtain CDI 1.1 utilities for Mojarra
09:05:02,650 SEVERE [javax.enterprise.resource.webcontainer.jsf.flow] (MSC service thread 1-3) Unable to obtain CDI 1.1 utilities for Mojarra
09:05:02,897 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."MyApplication.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyApplication.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001414: Bean name is ambiguous. Name csfFLOWDISCOVERYCDIHELPER resolves to beans:
- Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [#Default #Named #Any],
- Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [#Default #Named #Any]
at org.jboss.weld.bootstrap.ConcurrentValidator$5.doWork(ConcurrentValidator.java:134)
at org.jboss.weld.bootstrap.ConcurrentValidator$5.doWork(ConcurrentValidator.java:130)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
09:05:02,971 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "MyApplication.war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"MyApplication.war\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"MyApplication.war\".WeldStartService: Failed to start service
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001414: Bean name is ambiguous. Name csfFLOWDISCOVERYCDIHELPER resolves to beans:
- Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [#Default #Named #Any],
- Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] with qualifiers [#Default #Named #Any]"},
"WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"MyApplication.war\".WeldStartService"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
}
09:05:03,041 INFO [org.jboss.as.server] (ServerService Thread Pool -- 34) WFLYSRV0010: Deployed "MyApplication.war" (runtime-name : "MyApplication.war")
09:05:03,068 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."MyApplication.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyApplication.war".WeldStartService: Failed to start service
I am not really getting where this exception is pointing to. The error isn't clear too. I have found other SO Post regarding this error but those were with GlassFish server. Have anyone come across similar type of issue and got this resolved. I would be really thankful if someone points me in the proper direction or has any resolution for the same.
Having jsf-api and jsf-impl jar versions in the application which are different from the versions of the app server implementation causes this problem. Removing application provided jars from the WEB-INF/lib folder and using the server provided jars solves the problem.

JBOSS EAP 6.1 integration of Websphere MQ 8.0.0 parsing error

I am trying to integrate wmq.jmsra.jar version 8.0.0, into JBOSS 6.1EAP.
I get a parsing error when I deploy this jar, with older version of wmq.jmsra.jar it works. I don't understand, can you help me?
StackTrace :
11:50:36,808 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.deployment.unit."wmq.jmsra.rar".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."wmq.jmsra.rar".PARSE: JBAS018733: Failed to process phase PARSE of deployment "wmq.jmsra.rar"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS010443: Failed to parse service xml ["/C:/jboss-eap-6.2/bin/content/wmq.jmsra.rar/META-INF/ra.xml"]
at org.jboss.as.connector.deployers.ra.processors.RaDeploymentParsingProcessor.process(RaDeploymentParsingProcessor.java:124)
at org.jboss.as.connector.deployers.ra.processors.RaDeploymentParsingProcessor.deploy(RaDeploymentParsingProcessor.java:92)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
... 5 more
Caused by: org.jboss.jca.common.metadata.ParserException: IJ010061: Unexpected element: resourceadapter-version
at org.jboss.jca.common.metadata.ra.RaParser.parseConnector10(RaParser.java:278)
at org.jboss.jca.common.metadata.ra.RaParser.parse(RaParser.java:165)
at org.jboss.jca.common.metadata.ra.RaParser.parse(RaParser.java:107)
at org.jboss.as.connector.deployers.ra.processors.RaDeploymentParsingProcessor.process(RaDeploymentParsingProcessor.java:115)
... 7 more
The WebSphere MQ Resource Adapter v8.0.0.0 is targetted at JavaEE7 (because it's a JMS2.0 compliant) adapter. JBOSS 6.1 won't be able to support it so please use WMQ 7.5 resource Adapter

Deploy war file parse error

I would like to deploy a Java web application on Wildfly 8.1.0, previously it was deployed on JBoss 5. The JDK version is 1.7.0_25, I use Oracle ADF version 11, and during deployment I have the following error
09:19:06,804 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."MyAppServer.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyAppServer.war".PARSE: JBAS018733: Failed to process phase PARSE of deployment "MyAppServer.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS017302: Failed to parse XML descriptor "/wildfly-8.1.0.Final/standalone/deployments/MyAppServer.war/WEB-INF/lib/adf-richclient-impl-11.jar/META-INF/afu.tld" at [1560,10]
at org.wildfly.extension.undertow.deployment.TldParsingDeploymentProcessor.parseTLD(TldParsingDeploymentProcessor.java:232)
at org.wildfly.extension.undertow.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:206)
at org.wildfly.extension.undertow.deployment.TldParsingDeploymentProcessor.deploy(TldParsingDeploymentProcessor.java:144)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
... 5 more
It seems that some Oracle ADF versions out there contain invalid tld files. The same problem has been reported on various forums:
https://community.jboss.org/thread/200842
https://community.jboss.org/thread/199792
The problem might be fixed in more recent versions, but if it's not possible for you to upgrade, you can fix the tld file (adf-richclient-impl-11.jar/META-INF/afu.tld) yourself by removing the offending HTML tags from the description elements.
In your case, the first invalid element seems to appear on line 1560.
Did you already have a look at this? https://community.jboss.org/thread/199792

Migrating from jboss 5 to 7

I've been tasked with trying to migrate some existing apps from jboss5 to jboss7.
I don't know much about EJBs or Hibernate so this is an interesting challenge for me.
Currently this is where i'm stuck on:
...
14:42:12,727 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.subunit."Authorization.ear"."AuthorizationClient-7.0-SNAPSHOT.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."Authorization.ear"."AuthorizationClient-7.0-SNAPSHOT.jar".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment "AuthorizationClient-7.0-SNAPSHOT.jar" of deployment "Authorization.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.1.3.Final-redhat-4.jar:7.1.3.Final-redhat-4]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA-redhat-2.jar:1.0.2.GA-redhat-2]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA-redhat-2.jar:1.0.2.GA-redhat-2]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_35]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_35]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_35]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011058: Failed to install component PermissionManager
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:102)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.1.3.Final-redhat-4.jar:7.1.3.Final-redhat-4]
... 5 more
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS014544: No EJB found with interface of type 'org.calgb.authorization.client.permission.IPermissionCache' for binding org.calgb.authorization.client.permission.PermissionManager/permissionCache
at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:88)
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.processBindings(ComponentInstallProcessor.java:252)
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.access$000(ComponentInstallProcessor.java:76)
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor$1.handle(ComponentInstallProcessor.java:206)
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deployComponent(ComponentInstallProcessor.java:202)
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:95)
... 6 more
Any help is appreciated. Let me know what else you'd like me to post.
check your application.xml + jboss-deployment-structure.xml if it points to required war/jar files

Categories

Resources