[ 
https://issues.apache.org/jira/browse/KARAF-5020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bob Blackard updated KARAF-5020:
--------------------------------
    Attachment: camel-osgi-cdi.zip

Maven project I'm trying to install in ServiceMix/Karaf.  A full karaf.log is 
included, as is a full bundle list and camel:context-list from Karaf Console.

> Unable to successfully start the simplest Camel CDI route in Karaf 4.1.0 or 
> ServiceMix 7.0.0 (Karaf 4.0.8)
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: KARAF-5020
>                 URL: https://issues.apache.org/jira/browse/KARAF-5020
>             Project: Karaf
>          Issue Type: Question
>    Affects Versions: 4.1.0, 4.0.8
>         Environment: Windows 10 and CentOS 7.3; Oracle Java 8
>            Reporter: Bob Blackard
>         Attachments: camel-osgi-cdi.zip
>
>
> I've been trying without success to build and deploy a simple route with 
> Camel and CDI. I'm focused on deploying to ServiceMix 7.0.0, but have also 
> tried this on a plane jane Karaf 4.1.0 and get precisely the same results.
> I built a very simple route based on the Camel CDI examples from both 2.16.4 
> and 2.18.2. I'm excluding some of the testing stuff for now, just trying to 
> get things to work when I deploy it in Karaf/ServiceMix.
> My RouteBuilder is:
> {code}
> public class DemoRouteBuilder extends RouteBuilder {
>     Logger log = LoggerFactory.getLogger(DemoRouteBuilder.class);
>     @Override
>     public void configure() {
>         log.info("Starting demo CDI route");
>         from("timer://cdiTimer?period=5000")
>           .routeId("com.omniprise.demo.cdi.route")
>           .to("log:com.omniprise..demo.cdi.context")
>           .to("mock:end");
>     }
> }
> {code}
> I also have the requisite and content in my POM:
> {code}
>             <Export-Package>com.omniprise.demo.cdi.builder</Export-Package>
>             <Import-Package>*</Import-Package>
>             <Require-Capability>
>               osgi.extender; filter:="(osgi.extender=pax.cdi)",
>               org.ops4j.pax.cdi.extension; 
> filter:="(extension=camel-cdi-extension)"
>             </Require-Capability>
> {code}
> Complete Java and POM code will be attached.
> Note that the camel-cdi feature will fail to install on ServiceMix 7.0.0 due 
> to dependency conflicts:
> * ServiceMix 7.0.0 is using Camel 2.16.4
> * camel-cdi in 2.16.4 is looking for DeltaSpike [1.5.0,2.0)
> * camel-cdi in 2.16.4 is looking for pax-cdi 1.0.0.RC1
> * pax-cdi installs DeltaSpike 1.3.1
> * ... therefore a unresolved dependency error occurs if all that is done is:
> {code}
> feature:install pax-cdi pax-cdi-weld camel-cdi
> {code}
> Similar issues exist with newer versions of Camel as well when deploying into 
> Karaf 4.1.0.
> Note, too, that even with the inclusion of updated DeltaSpike libraries, 
> errors occur with pax-cdi 1.0.0.RC1, possibly due to an issue with Blueprint 
> proxies.
> Therefore, these instructions install pax-cdi 1.0.0.RC2 and the latest 
> DeltaSpike 1.7.2, along with camel-cdi (2.16.4 for ServiceMix 7.0.0 and 
> 2.18.2 for Karaf 4.1.0).
> h2. To install and run in ServiceMix 7.0.0 (Karaf 4.0.8, Camel 2.16.4)
> Start ServiceMix, connect to Karaf Console and install:
> {code}
> feature:repo-add mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0.RC2/xml/features
> install mvn:org.apache.deltaspike.core/deltaspike-core-api/1.7.2
> install mvn:org.apache.deltaspike.core/deltaspike-core-impl/1.7.2
> feature:install pax-cdi/1.0.0.RC2
> feature:install pax-cdi-weld/1.0.0.RC2
> feature:install camel-cdi
> install -s mvn:com.omniprise.demo/camel-osgi-cdi/0.0.1-SNAPSHOT
> {code}
> h2. To install and run in a plain jane Karaf 4.x environment (Camel 2.18.2)
> Start Karaf, connect to Karaf Console and install:
> {code}
> feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.18.2/xml/features
> feature:repo-add mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0.RC2/xml/features
> install mvn:org.apache.deltaspike.core/deltaspike-core-api/1.7.2
> install mvn:org.apache.deltaspike.core/deltaspike-core-impl/1.7.2
> feature:install pax-cdi/1.0.0.RC2
> feature:install pax-cdi-weld/1.0.0.RC2
> feature:install camel/2.18.2
> feature:install camel-blueprint/2.18.2
> feature:install camel-cdi/2.18.2
> install -s mvn:com.omniprise.demo/camel-osgi-cdi/0.0.1-SNAPSHOT
> {code}
> In both cases, the packages are all installed and listed as running, but the 
> Camel Context isn't started:
> {code}
> 70 | Active    |  80 | 1.0.0.RC2      | OPS4J Pax CDI Bean Bundle API
> 71 | Active    |  80 | 1.0.0.RC2      | OPS4J Pax CDI Extender for Bean 
> Bundles
> 72 | Active    |  80 | 1.0.0.RC2      | OPS4J Pax CDI Portable Extension for 
> OSGi
> 73 | Active    |  80 | 1.0.0.RC2      | OPS4J Pax CDI Service Provider 
> Interface
> 74 | Active    |  80 | 1.0.0.RC2      | OPS4J Pax CDI Weld Adapter
> ... content removed for brevity
> 83 | Active    |  50 | 2.18.2         | camel-cdi
> ... content removed for brevity
> 92 | Active    |  80 | 1.8.1          | OPS4J Pax Swissbox :: Tracker
> 93 | Active    |  80 | 0.0.1.SNAPSHOT | Camel CDI OSGi Demo
> addmin@root()> camel:context-list
> addmin@root()>
> {code}
> The is only one error in the log associated with camel-cdi installing pax-cdi 
> 1.0.0.RC1 even though pax-cdi 1.0.0.RC2 is already present, and therefore a 
> CDI provider is already registered. At the end of the log, it is clear that 
> the CDI binding is starting up, but there is no Context created, and the 
> Route isn't producing messages - there's nothing indicating there was a 
> problem finding the RouteBuilder or starting it:
> {code}
> 2017-03-08T15:50:24,568 | INFO  | pipe-feature:install camel-blueprint/2.18.2 
> | CdiExtender                      | 71 - org.ops4j.pax.cdi.extender - 
> 1.0.0.RC2 | creating CDI container for bean bundle camel-osgi-cdi [93] with 
> extension bundles [org.apache.camel.camel-cdi [83]]
> 2017-03-08T15:50:24,575 | INFO  | pipe-feature:install camel-blueprint/2.18.2 
> | AbstractCdiContainer             | 73 - org.ops4j.pax.cdi.spi - 1.0.0.RC2 | 
> Starting CDI container for bundle camel-osgi-cdi [93]
> 2017-03-08T15:50:24,598 | INFO  | pipe-feature:install camel-blueprint/2.18.2 
> | Version                          | 69 - org.jboss.weld.osgi-bundle - 
> 2.3.5.Final | WELD-000900: 2.3.5 (Final)
> 2017-03-08T15:50:24,745 | INFO  | pipe-feature:install camel-blueprint/2.18.2 
> | Bootstrap                        | 69 - org.jboss.weld.osgi-bundle - 
> 2.3.5.Final | WELD-000101: Transactional services not available. Injection of 
> @Inject UserTransaction not available. Transactional observers will be 
> invoked synchronously.
> 2017-03-08T15:50:24,810 | WARN  | pipe-feature:install camel-blueprint/2.18.2 
> | Interceptor                      | 69 - org.jboss.weld.osgi-bundle - 
> 2.3.5.Final | WELD-001700: Interceptor annotation class 
> javax.ejb.PostActivate not found, interception based on it is not enabled
> 2017-03-08T15:50:24,811 | WARN  | pipe-feature:install camel-blueprint/2.18.2 
> | Interceptor                      | 69 - org.jboss.weld.osgi-bundle - 
> 2.3.5.Final | WELD-001700: Interceptor annotation class 
> javax.ejb.PrePassivate not found, interception based on it is not enabled
> 2017-03-08T15:50:24,938 | INFO  | pipe-feature:install camel-blueprint/2.18.2 
> | Event      
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to