Issues deploying a switchyard war file containing ip.json in Fuse 6.2.1

Solution In Progress - Updated -

Issue

We are deploying a war file which contains a switchyard component as well as ip.json definition file for RT-Gov. As part of the build process, we add an entry to the MANIFEST.MF file of the war with the following dependencies in pom.xml:

<manifestEntries>
  <Dependencies>deployment.overlord-rtgov.war</Dependencies>
</manifestEntries>

The packaged ip.json file contains some transformer definitions such as this one:

"transformer": {
          "type": "serialize"
               },

But when we are deploying it seems that ip.json is not registered. We can see the activities in Kibana but we can not see the properties defined in ip.json as well as the payload.

I have created another war file which just contains the ip.json file and its dependencies are as follows:

<manifestEntries>
    <Dependencies>deployment.overlord-rtgov.war  export services</Dependencies>
</manifestEntries>

Once this war file is deployed, I can see the payload and properties.

But when we try to append export services in the war file containing both switchyard.xml and ip.json, the deployment fails with the following exception

13:40:16,919 INFO  [org.jboss.weld.deployer] (MSC service thread 1-12) JBAS016005: Starting Services for CDI deployment: switchyard-rtgov-sample.war
13:40:16,921 INFO  [org.switchyard] (MSC service thread 1-12) Deploying SwitchYard application 'switchyard-rtgov-sample.war'
13:40:16,926 INFO  [org.jboss.weld.deployer] (MSC service thread 1-5) JBAS016008: Starting weld service for deployment switchyard-rtgov-sample.war
13:40:17,149 WARN  [org.jboss.as.weld] (MSC service thread 1-11) JBAS016017: Using deployment classloader to load proxy classes for module org.switchyard.component.bean:main. Package-private access will not work. To fix this the module should declare dependencies on [org.jboss.weld.core, org.javassist]
13:40:17,154 WARN  [org.jboss.as.weld] (MSC service thread 1-11) JBAS016017: Using deployment classloader to load proxy classes for module org.drools:main. Package-private access will not work. To fix this the module should declare dependencies on [org.jboss.weld.core, org.javassist]
13:40:17,155 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-11) MSC000001: Failed to start service jboss.deployment.unit."switchyard-rtgov-sample.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."switchyard-rtgov-sample.war".WeldStartService: Failed to start service
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1936) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:
Exception 0 :
java.lang.ClassCastException: org.drools.compiler.cdi.KieCDIExtension cannot be cast to org.drools.compiler.cdi.KieCDIExtension
    at org.drools.compiler.cdi.KieCDIExtension$Proxy$_$$_WeldClientProxy.processInjectionTarget(KieCDIExtension$Proxy$_$$_WeldClientProxy.java)
    at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
    at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)
    at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:164)
    at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:245)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:233)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:117)
    at org.jboss.weld.event.TransactionalObserverNotifier.notifyObserver(TransactionalObserverNotifier.java:44)
    at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:85)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:75)
    at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:60)
    at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:38)
    at org.jboss.weld.bootstrap.events.AbstractProcessInjectionTarget.fire(AbstractProcessInjectionTarget.java:32)
    at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:122)
    at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:217)
    at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:357)
    at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:63)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

    at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:40)
    at org.jboss.weld.bootstrap.events.AbstractProcessInjectionTarget.fire(AbstractProcessInjectionTarget.java:32)
    at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:122)
    at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:217)
    at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:357)
    at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:63)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
    ... 3 more

Environment

  • Red Hat JBoss Fuse (on EAP)
    • 6.2.1
  • Installed components:
    • RT-Gov
    • Integration package

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content