You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (JIRA)" <ji...@apache.org> on 2017/02/13 12:22:41 UTC
[jira] [Commented] (CAMEL-10818) Unable to use JPA in camel 2.18.1
on Karaf 4.0.8
[ https://issues.apache.org/jira/browse/CAMEL-10818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15863565#comment-15863565 ]
Andrea Cosentino commented on CAMEL-10818:
------------------------------------------
Please use the users mailing list for this kind of issues.
> Unable to use JPA in camel 2.18.1 on Karaf 4.0.8
> ------------------------------------------------
>
> Key: CAMEL-10818
> URL: https://issues.apache.org/jira/browse/CAMEL-10818
> Project: Camel
> Issue Type: Task
> Components: camel-jpa, karaf
> Affects Versions: 2.18.1
> Environment: Windows 10, Karaf 4.0.8
> Reporter: Deepak Indoriya
> Labels: windows
> Fix For: 2.18.1
>
>
> Hello,
> I am creating a simple camel project to connect MySQL Database using JPA with Java code. Their is no issue in installing the bundle but when i try to start the bundle on Karaf. Below error show:
> 2017-02-13 13:00:04,248 | ERROR | nsole user karaf | ShellUtil | 43 - org.apache.karaf.shell.core - 4.0.8 | Exception caught while executing command
> org.apache.karaf.shell.support.MultiException: Error executing command on bundles:
> Error starting bundle 52: Unable to resolve in.test.jpatest [52](R 52.0): missing requirement [in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0))) Unresolved requirements: [[in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0)))]
> at org.apache.karaf.shell.support.MultiException.throwIf(MultiException.java:61)
> at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:69)[23:org.apache.karaf.bundle.core:4.0.8]
> at org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:54)[23:org.apache.karaf.bundle.core:4.0.8]
> at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:83)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:67)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:87)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)[43:org.apache.karaf.shell.core:4.0.8]
> at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:274)[43:org.apache.karaf.shell.core:4.0.8]
> at java.lang.Thread.run(Thread.java:745)[:1.8.0_101]
> Caused by: java.lang.Exception: Error starting bundle 52: Unable to resolve in.test.jpatest [52](R 52.0): missing requirement [in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0))) Unresolved requirements: [[in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0)))]
> at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:66)[23:org.apache.karaf.bundle.core:4.0.8]
> ... 12 more
> Caused by: org.osgi.framework.BundleException: Unable to resolve in.test.jpatest [52](R 52.0): missing requirement [in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0))) Unresolved requirements: [[in.test.jpatest [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.persistence)(version>=2.1.0)(!(version>=3.0.0)))]
> at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)[org.apache.felix.framework-5.6.1.jar:]
> at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)[org.apache.felix.framework-5.6.1.jar:]
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)[org.apache.felix.framework-5.6.1.jar:]
> at org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38)[23:org.apache.karaf.bundle.core:4.0.8]
> at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:64)[23:org.apache.karaf.bundle.core:4.0.8]
> ... 12 more
> POM:
> <?xml version="1.0" encoding="UTF-8"?>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>in.test</groupId>
> <artifactId>jpatest</artifactId>
> <version>0.0.1</version>
> <packaging>jar</packaging>
> <name>jpatest</name>
> <properties>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
> </properties>
> <dependencyManagement>
> <dependencies>
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-parent</artifactId>
> <version>2.18.1</version>
> <scope>import</scope>
> <type>pom</type>
> </dependency>
> </dependencies>
> </dependencyManagement>
> <dependencies>
> <!-- Camel -->
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-core</artifactId>
> </dependency>
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-blueprint</artifactId>
> </dependency>
> <!-- Testing -->
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-test-blueprint</artifactId>
> <scope>test</scope>
> </dependency>
>
> <!-- logging -->
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-api</artifactId>
> <scope>test</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-core</artifactId>
> <scope>test</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-slf4j-impl</artifactId>
> <scope>test</scope>
> </dependency>
>
> <!-- JPA -->
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-jpa</artifactId>
> </dependency>
> <dependency>
> <groupId>org.eclipse.persistence</groupId>
> <artifactId>eclipselink</artifactId>
> <version>2.5.2</version>
> </dependency>
> <dependency>
> <groupId>org.eclipse.persistence</groupId>
> <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
> <version>2.5.2</version>
> <scope>provided</scope>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <!-- compiler plugin -->
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-compiler-plugin</artifactId>
> <version>3.5.1</version>
> <configuration>
> <source>1.8</source>
> <target>1.8</target>
> </configuration>
> </plugin>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-resources-plugin</artifactId>
> <version>3.0.1</version>
> <configuration>
> <encoding>UTF-8</encoding>
> </configuration>
> </plugin>
> <!-- to generate the MANIFEST.MF of the bundle -->
> <plugin>
> <groupId>org.apache.felix</groupId>
> <artifactId>maven-bundle-plugin</artifactId>
> <version>3.2.0</version>
> <extensions>false</extensions>
> <executions>
> <execution>
> <id>bundle-manifest</id>
> <phase>prepare-package</phase>
> <goals>
> <goal>manifest</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> <!-- to include MANIFEST.MF in the bundle -->
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-jar-plugin</artifactId>
> <version>2.6</version>
> <configuration>
> <archive>
> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
> </archive>
> </configuration>
> </plugin>
> <!-- to run the example using mvn camel:run -->
> <plugin>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-maven-plugin</artifactId>
> <version>2.18.1</version>
> </plugin>
> </plugins>
> </build>
> </project>
> Camel BluePrint:
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
> xsi:schemaLocation="
> http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
> http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd">
> <cm:property-placeholder persistent-id="HelloBean" update-strategy="reload">
> <cm:default-properties>
> <cm:property name="greeting" value="Hi from Camel" />
> </cm:default-properties>
> </cm:property-placeholder>
> <bean id="helloBean" class="in.test.jpatest.HelloBean">
> <property name="say" value="${greeting}"/>
> </bean>
> <camelContext id="blueprint-bean-context" xmlns="http://camel.apache.org/schema/blueprint">
> <route id="timerToLog">
> <from uri="timer:foo?period=5000"/>
> <setBody>
> <method ref="helloBean" method="hello"/>
> </setBody>
> <log message="The message contains ${body}"/>
> <setBody>
> <method ref="test" method="jpatest"/>
> </setBody>
> <log message="The jpa message contains ${body}"/>
> <to uri="mock:result"/>
> </route>
> </camelContext>
>
> <bean id="test" class="in.test.jpatest.Test"></bean>
>
> <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
> <property name="entityManagerFactory" ref="entityManagerFactory" />
> <property name="transactionManager" ref="transactionManager" />
> </bean>
> <bean id="mysqltestDataSource"
> class="org.springframework.jdbc.datasource.DriverManagerDataSource">
> <property name="driverClassName" value="com.mysql.jdbc.Driver" />
> <property name="url" value="127.0.0.1:3306" />
> <property name="username" value="test" />
> <property name="password" value="test" />
> </bean>
> <bean id="entityManagerFactory"
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
> <property name="dataSource" ref="mysqltestDataSource" />
> <property name="persistenceUnitName" value="testMysql" />
> </bean>
> </blueprint>
> Persistance:
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
> <persistence-unit name="testMysql" transaction-type="RESOURCE_LOCAL">
> <!--<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>-->
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> <class>in.test.jpatest.TransactionLog</class>
> <!--<properties>
> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/addpro?zeroDateTimeBehavior=convertToNull"/>
> <property name="javax.persistence.jdbc.user" value="root"/>
> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
> <property name="javax.persistence.jdbc.password" value="Addverb@123!"/>
> </properties>-->
> <properties>
> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
> <property name="hibernate.show_sql" value="true"/>
> </properties>
> </persistence-unit>
> </persistence>
> I have done the same with Camel 2.10.0 and Jboss fuse and JPA version 1.0 but now it is not working.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)