Hello again :)

I retrieved the openjpa-all-2.4.2.jar file and dropped it in the
<WSO2_ESB_HOME>/lib
directory to let the runtime taking care of the bundle generation during
the startup. The effect was the generation of the file
openjpa_all_2.4.2_1.0.0.jar in the directory <WSO2_ESB_HOME>/dropins.

I restarted the EI with:

 D:\ProjetESB\wso2ei-6.0.0\bin> .\integrator.bat -DosgiConsole=19444

So I can connect to the OSGI  console via telnet. But, when I try to
retrieve the objectclasses starting with org.apache.openjpa.*, I have
nothing :(

osgi> services (objectclass=org.apache.openjpa.*)
"No registered services."

Am I missing something?

Regards,

Thomas

2017-05-04 10:49 GMT+02:00 KasunG Gajasinghe <kas...@wso2.com>:

> Hi Thomas,
>
> Well, the connector itself cannot be deployed as an osgi bundle. But, you
> can call classes in osgi bundles from your connector. So, place your JPA
> logic in an osgi bundle and add it to dropins/ folder. Then, call that from
> your connector.
>
> This should give you flexibility over your classloading. I cannot comment
> on JPA stuff though.
>
> On Thu, May 4, 2017 at 1:26 PM, Thomas LEGRAND <
> thomas.legr...@versusmind.eu> wrote:
>
>> Hello KasunG,
>>
>> I forgot to mention that I am using wso2ei-6.0.0.
>>
>> During the build of my connector, I noticed that a .jar is created with
>> the .zip for the connector so I tried to deploy it. Actually, I tried the
>> following directories and my sequence does not find any of the components
>> like if my connector was not deployed :
>> - <WSO2_ESB_HOME>/repository/components/dropins (this directory did not
>> exist so I created it)
>> - <WSO2_ESB_HOME>/dropins
>>
>> In addition, I don't find anything in the documentation mentioning that
>> we can deploy connectors as an OSGi bundle :(
>>
>> When I deploy the .zip of the connector via the interface, it is deployed
>> in <WSO2_ESB_HOME>/repository/deployment/server/synapse-libs which is
>> the same directory used by Synapse: http://synapse.apache.org/user
>> guide/template_library.html
>>
>> Concerning the "architecture" of my component, I deployed a .zip with a
>> META-INF directory containing the persistence.xml but I don't think it is
>> used like the absence of mention in the Synaspe documentation above. :)
>> Then, I call OpenJPA with the following lines:
>>
>> EntityManagerFactory emf = Persistence.createEntityManage
>> rFactory("my-pu");
>> EntityManager mgr = emf.createEntityManager();
>>
>> But then, I have the exception.
>>
>> I made a topic on StackOverflow one or two weeks ago:
>> https://stackoverflow.com/questions/43538743/wso2-is-there-
>> a-way-to-use-jpa-in-a-custom-connector
>>
>> I you know a documentation to generate an OSGi bundle for a connector, I
>> am very interested. :)
>>
>> Regards,
>>
>> Thomas
>>
>> 2017-05-03 18:29 GMT+02:00 KasunG Gajasinghe <kas...@wso2.com>:
>>
>>> You are working in an OSGi environment, so you need to be thinking from
>>> the osgi classloading perspective. Each osgi bundle under
>>> repository/components/{plugins,dropins} has its own classloader and a
>>> classpath.
>>>
>>> Hence, the place you put your persistence.xml is important. I'm not sure
>>> how you call OpenJPA, so I cannot comment on what steps to follow. But in
>>> essence, re-build your connector as an osgi bundle (its just a jar with a
>>> set of manifest entries in MANIFEST.MF), and place it in
>>> repository/components/dropins. I have not tested this myself though.
>>>
>>> Regards,
>>> KasunG
>>>
>>>
>>> On Wed, May 3, 2017 at 8:38 PM, Thomas LEGRAND <
>>> thomas.legr...@versusmind.eu> wrote:
>>>
>>>> Hello everybody,
>>>>
>>>> I am currently writing a custom connector to retrieve information from
>>>> a database. Because the mediators to do so does not fit my needs, I am
>>>> using a custom Java class which is currently implemented to retrieve a
>>>> DataSource via the JNDI name I configured in the ESB interface. That works
>>>> nicely :)
>>>>
>>>> But then, for maintenance purpose, I would like to use JPA (preferably,
>>>> the OpenJPA implementation :)) but it is like the persistence.xml is not
>>>> even read. :(
>>>> My libraries are placed in the lib/ directory in the generated zip of
>>>> my connector and I don't have any problem using the classes of OpenJPA.
>>>> Actually, just this error message appears:
>>>>
>>>> 1 INFO [PassThroughMessageProcessor-313] openjpa.Runtime - Starting
>>>> OpenJPA 2.4.0 org.apache.openjpa.persistence.ArgumentException: The
>>>> persistence provi der is attempting to use properties in the
>>>> persistence.xml file to resolve the data source. A Java Database
>>>> Connectivity (JDBC) driver or data source class name must be specified in
>>>> the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property.
>>>> The following properties are available in the configuration:
>>>> "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@442ce698".
>>>>
>>>> In the persistence.xml, you have the following content :
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <persistence version="2.0" xmlns="http://java.sun.com/xml
>>>> /ns/persistence"
>>>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>>>>     http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd";>
>>>>     <persistence-unit name="my-pu" transaction-type="RESOURCE_LOCAL">
>>>>         <provider>org.apache.openjpa.persistence.PersistenceProvider
>>>> Impl</provider>
>>>>         <jta-data-source>jdbc/MyDataSource</jta-data-source>
>>>>     </persistence-unit>
>>>> </persistence>
>>>>
>>>> Is there some hidden magic to make it work?
>>>>
>>>> Thank you :)
>>>>
>>>> Regards,
>>>>
>>>> Thomas
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
>>> email: kasung AT spamfree wso2.com
>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>> blog: http://kasunbg.org
>>> phone: +1 650-745-4499 <(650)%20745-4499>, 77 678 0813
>>>
>>>
>>
>>
>
>
> --
>
> *Kasun Gajasinghe*Associate Technical Lead, WSO2 Inc.
> email: kasung AT spamfree wso2.com
> linked-in: http://lk.linkedin.com/in/gajasinghe
> blog: http://kasunbg.org
> phone: +1 650-745-4499 <(650)%20745-4499>, 77 678 0813
>
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to