Details
-
Bug
-
Resolution: Won't Do
-
Major
-
jboss-fuse-6.2.1
-
None
-
%
-
Description
Deployment of a Switchyard application, bundled as an *.ear file with the structure shown below fails:
*.ear `- META-INF/jboss-deployment-structure.xml: <ear-subdeployments-isolated>true</ear-subdeployments-isolated> `- switchyard-app.jar: contains service interfaces
Failure:
09:12:04,089 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014612: Operation ("deploy") failed - address: ([("deployment" => "switchyard-ear-deployment.ear")]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"switchyard-ear-deployment.ear\".WeldStartService" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"switchyard-ear-deployment.ear\".WeldStartService: Failed to start service Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions: Exception 0 : java.lang.IllegalArgumentException: interface org.switchyard.quickstarts.demo.multiapp.service.InventoryService is not visible from class loader at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:581) at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:557) at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:230) at java.lang.reflect.WeakCache.get(WeakCache.java:127) at java.lang.reflect.Proxy.getProxyClass0(Proxy.java:419) at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:719) at org.switchyard.component.bean.ClientProxyBean.<init>(ClientProxyBean.java:103) at org.switchyard.component.bean.SwitchYardCDIServiceDiscovery.addClientProxyBean(SwitchYardCDIServiceDiscovery.java:174) at org.switchyard.component.bean.SwitchYardCDIServiceDiscovery.addInjectableClientProxyBean(SwitchYardCDIServiceDiscovery.java:162) at org.switchyard.component.bean.SwitchYardCDIServiceDiscovery.processBean(SwitchYardCDIServiceDiscovery.java:107) at org.switchyard.component.bean.SwitchYardCDIServiceDiscovery$Proxy$_$$_WeldClientProxy.processBean(SwitchYardCDIServiceDiscovery$Proxy$_$$_WeldClientProxy.java) at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
The following approaches can be taken to successfully deploy the application:
1. ear-subdeployments-isolated=false
2. bundle service interfaces in *.ear/lib/custom-interfaces.jar
However, these workarounds do not meet these requirements:
re 1. Allow isolated = true, to prevent that the (sub-deployment) jar files see each other.
re 2. Internal interfaces (specific to one switchyard application) should be bundled in that application, and not in a shared jar.
Note: this issue seems related to https://issues.jboss.org/browse/SWITCHYARD-1932, with the difference that this JIRA is related to isolated jar files instead of war files in the ear.
Attachments
Issue Links
- relates to
-
WFLY-2757 CNFE if sub-deployment (WAR in an EAR) depending on a static module with CDI portable extension
- Closed