Hi

Forgot to mention that, Yes I am running in an OSGi env.

Thanks

On Tue, Apr 30, 2013 at 8:09 PM, Subash Chaturanga <subash...@gmail.com>wrote:

> Opps I made the error log to view so sloppy. Please see the following
> error log.
>
>
> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or
> DataSource class name must be specified in the ConnectionDriverName
> property. Available properties in configuration are
> "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@442ce698".
>  at
> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
> at
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:844)
>  at
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:602)
> at
> org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1510)
>  at
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
> at
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
>  at
> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104)
> at
> org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>  at
> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
> at
> org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:968)
>  at
> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:959)
> at
> org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>  at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203)
> at
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
>  at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
>  at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
> at
> org.apache.juddi.config.PersistenceManager.getEntityManager(PersistenceManager.java:45)
>  at
> org.apache.juddi.config.AppConfig.getPersistentConfiguration(AppConfig.java:109)
> at org.apache.juddi.config.AppConfig.loadConfiguration(AppConfig.java:95)
>  at org.apache.juddi.config.AppConfig.<init>(AppConfig.java:62)
> at org.apache.juddi.config.AppConfig.getInstance(AppConfig.java:183)
>  at org.apache.juddi.config.AppConfig.getConfiguration(AppConfig.java:205)
> at org.apache.juddi.Registry.start(Registry.java:55)
>
>
>
> On Tue, Apr 30, 2013 at 8:08 PM, Subash Chaturanga <subash...@gmail.com>wrote:
>
>>
>>
>> On Tue, Apr 30, 2013 at 6:56 PM, Rick Curtis <curti...@gmail.com> wrote:
>>
>>> Is there a compelling reason that you're trying to extend OpenJPA? What
>>> container are you running in? The reason I ask is that I see that
>>> org.apache
>>> .openjpa.osgi.OSGiPersistenceProviderImpl is a valid provider. If you are
>>> running in an OSGI environment, that will complicate things.
>>>
>>
>> Hi Rick
>> Thank you very much for the response.
>>
>> The reason is I want to override the EntityManager. In fact the
>> EntityManager.persist() method (way I could intercept a set of JPA calls
>> without touching any others like Entity classes ). Thus I wanted to have my
>> own provider which will be like MyProvider extends
>> org.apache.openjpa.presist.PersistenceProviderImpl and provide my own
>> entity manager factory and then I can provide my EntityManager which will
>> again will (hoping) to extend default openjpa EntityManager classes.
>>
>> Please find my persistence.xml file [1]
>> So I had come configuration issues and now I am getting this. Can you
>> please provide any solution for this.
>>
>> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or
>> DataSource class name must be specified in the ConnectionDriverName
>> property. Available properties in configuration are
>> "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@442ce698". at
>> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
>> at
>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:844)
>> at
>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:602)
>> at
>> org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1510)
>> at
>> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:518)
>> at
>> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:443)
>> at
>> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104)
>> at
>> org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>> at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>> at
>> org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:968)
>> at
>> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:959)
>> at
>> org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>> at
>> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203)
>> at
>> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
>> at
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
>> at
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
>> at
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
>> at
>> org.apache.juddi.config.PersistenceManager.getEntityManager(PersistenceManager.java:45)
>> at
>> org.apache.juddi.config.AppConfig.getPersistentConfiguration(AppConfig.java:109)
>> at org.apache.juddi.config.AppConfig.loadConfiguration(AppConfig.java:95)
>> at org.apache.juddi.config.AppConfig.(AppConfig.java:62) at
>> org.apache.juddi.config.AppConfig.getInstance(AppConfig.java:183) at
>> org.apache.juddi.config.AppConfig.getConfiguration(AppConfig.java:205) at
>> org.apache.juddi.Registry.start(Registry.java:55)
>>
>>
>> [1] - http://pastebin.com/download.php?i=3MJtE1cZ
>>
>>
>>
>>>
>>>
>>> On Tue, Apr 30, 2013 at 1:00 AM, Subash Chaturanga <subash...@gmail.com
>>> >wrote:
>>>
>>> > Any idea on this please ? Please find my question posted in SO [1] .
>>> This
>>> > is regarding openjpa 2.2.0. And I think a custom provider class
>>> recognizes
>>> > as unknown.
>>> >
>>> > Here is the code I found, this method evaluates to false for a custom
>>> > provider class as for example public class MyProviderImpl implements
>>> > PersistenceProvider, ProviderUtil
>>> >
>>> >
>>> >     private static boolean
>>> > *isOpenJPAPersistenceProvider*(PersistenceUnitInfo
>>> > pinfo, ClassLoader loader) {
>>> >         String provider = pinfo.getPersistenceProviderClassName();
>>> >         if (StringUtils.isEmpty(provider) ||
>>> > PersistenceProviderImpl.class.getName().equals(provider))
>>> >             return true;
>>> >
>>> >         if (loader == null)
>>> >             loader =
>>> >
>>> >
>>> AccessController.doPrivileged(J2DoPrivHelper.getContextClassLoaderAction());
>>> >         try {
>>> >             if
>>> > (PersistenceProviderImpl.class.isAssignableFrom(Class.forName(provider,
>>> > false, loader)))
>>> >                 return true;
>>> >         } catch (Throwable t) {
>>> >             log(_loc.get("unloadable-provider", provider,
>>> t).getMessage());
>>> >             return false;
>>> >         }
>>> >         return false;
>>> >     }
>>> >
>>> >
>>> > [1]-
>>> >
>>> >
>>> http://stackoverflow.com/questions/16293136/openjpa-2-2-0-cannot-add-a-custom-persistence-provider-class-openjpa-recogniz
>>> >
>>> > On Mon, Apr 29, 2013 at 11:18 PM, Subash Chaturanga <
>>> subash...@gmail.com
>>> > >wrote:
>>> >
>>> > > Hi
>>> > > I wrote a MyProvider
>>> > > extends org.apache.openjpa.persistence.PersistenceProviderImpl. And
>>> added
>>> > > MyProvider as the provider in the persistence.xml.
>>> > > Why I did this was to override the EntityManager.persist() method.
>>>  But
>>> > > seems still the default provider class get picked up. Am i missing
>>> > > something ?
>>> > >
>>> > > --
>>> > > Subash Chaturanga
>>> > > Sri Lanka
>>> > >
>>> > > Blog -  http://subashsdm.blogspot.com/
>>> > > Twitter - http://twitter.com/subash89
>>> > >
>>> > >
>>> >
>>> >
>>> >
>>> > --
>>> > Subash Chaturanga
>>> > Department of Computer Science & Engineering
>>> > University of Moratuwa
>>> > Sri Lanka
>>> >
>>> > Blog -  http://subashsdm.blogspot.com/
>>> > Twitter - http://twitter.com/subash89
>>> >
>>>
>>>
>>>
>>> --
>>> *Rick Curtis*
>>>
>>
>>
>>
>> --
>> Subash Chaturanga
>> Department of Computer Science & Engineering
>> University of Moratuwa
>> Sri Lanka
>>
>> Blog -  http://subashsdm.blogspot.com/
>> Twitter - http://twitter.com/subash89
>>
>>
>
>
>
> --
> Subash Chaturanga
> Department of Computer Science & Engineering
> University of Moratuwa
> Sri Lanka
>
> Blog -  http://subashsdm.blogspot.com/
> Twitter - http://twitter.com/subash89
>
>



-- 
Subash Chaturanga
Department of Computer Science & Engineering
University of Moratuwa
Sri Lanka

Blog -  http://subashsdm.blogspot.com/
Twitter - http://twitter.com/subash89

Reply via email to