Just checked the version in the Glassfish's bundled felix.jar and it is 4.0.2.

It is reproducible.. I have Gemini JPA deployed and are deploying my own JPA 
bundle.

Attached is my persistence.xml. You would have to create the datasource in 
glassfish. And you can use empty entities or I suspect different entity classes.

<?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="osgi-example" transaction-type="JTA">
        <jta-data-source>jdbc/osgi-example</jta-data-source>

        <class>com.mm.osgiexample.entity.User</class>
        <class>com.mm.osgiexample.entity.Group</class>

        <exclude-unlisted-classes>true</exclude-unlisted-classes>

        <properties>
            <property name="eclipselink.target-database" value="MySQL"/>

            <!--<property name="eclipselink.logging.level" value="FINEST"/>-->
            <property name="eclipselink.logging.exceptions" value="true"/>

            <!-- turn off DDL generation after the model is stable -->
            <property name="eclipselink.ddl-generation" 
value="drop-and-create-tables"/>
            <property name="eclipselink.ddl-generation.output-mode" 
value="both"/>
            <property name="eclipselink.ddl.default-table-suffix" 
value="engine=InnoDB"/>
            <property name="eclipselink.weaving" value="false"/>
        </properties>

    </persistence-unit>

</persistence>


Can I send attachments to the mailing list? If so I'll just send the sample 
bundle.

Regards,
Aaron Whiteside
Director of Technical Architecture
MOBILEMESSENGER


-----Original Message-----
From: Richard S. Hall [mailto:[email protected]] 
Sent: Thursday, January 26, 2012 12:54 PM
To: [email protected]
Subject: Re: NPE in BundleWiringImpl

First things first, if you are running 4.0.1, you should try with 4.0.2 
since that addressed some NPE situations in the resolver due to 
refactoring that occurred in 4.0.0. To use it with GF you should just be 
able to copy the 4.0.2 felix.jar file over the existing felix.jar file.

If that doesn't resolve the issue and if it is easily repeatable, then 
please describe the precise set of steps to reproduce and I can try to 
look into it.

-> richard

On 1/26/12 12:02, Aaron Whiteside wrote:
> Thought I might let the felix guys know about this...
>
> http://www.eclipse.org/forums/index.php/m/783881/#msg_783881
>
>
> Running in Glassfish 3.1.2-b19 (Felix 4.0.1 I think..)
>
> Stacktrace below..
>
> [#|2012-01-26T11:37:55.594-0500|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=81;_ThreadName=Thread-2;|[EL
>  Severe]: 2012-01-26 11:37:55.594--ServerSession(1197114060)--Local Exception 
> Stack:
> Exception [EclipseLink-7060] (Eclipse Persistence Services - 
> 2.3.2.v20111125-r10461): 
> org.eclipse.persistence.exceptions.ValidationException
> Exception Description: Cannot acquire data source [jdbc/osgi-example].
> Internal Exception: javax.naming.NamingException: Lookup failed for 
> 'jdbc/osgi-example' in 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> javax.naming.NamingException: Unable to lookup resource : jdbc/osgi-example 
> [Root exception is javax.naming.CommunicationException: Communication 
> exception for 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> java.lang.NullPointerException]]]
> at 
> org.eclipse.persistence.exceptions.ValidationException.cannotAcquireDataSource(ValidationException.java:497)
> at 
> org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:109)
> at 
> org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:330)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:293)
> at 
> org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:418)
> at 
> org.eclipse.persistence.sessions.server.ConnectionPool.buildConnection(ConnectionPool.java:216)
> at 
> org.eclipse.persistence.sessions.server.ExternalConnectionPool.startUp(ExternalConnectionPool.java:146)
> at 
> org.eclipse.persistence.sessions.server.ServerSession.connect(ServerSession.java:484)
> at 
> org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:633)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:208)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:488)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:188)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:277)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:294)
> at 
> org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:272)
> at 
> com.mm.osgiexample.OSGiEntityManagerFactoryFactory.create(OSGiEntityManagerFactoryFactory.java:32)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at 
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:145)
> at 
> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:570)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:982)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:878)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:484)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
> at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
> at 
> org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
> at 
> org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
> at 
> org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
> at 
> org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
> at 
> org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: javax.naming.NamingException: Lookup failed for 
> 'jdbc/osgi-example' in 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> javax.naming.NamingException: Unable to lookup resource : jdbc/osgi-example 
> [Root exception is javax.naming.CommunicationException: Communication 
> exception for 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> java.lang.NullPointerException]]]
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:654)
> at javax.naming.InitialContext.lookup(InitialContext.java:415)
> at javax.naming.InitialContext.lookup(InitialContext.java:415)
> at 
> org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:103)
> ... 37 more
> Caused by: javax.naming.NamingException: Unable to lookup resource : 
> jdbc/osgi-example [Root exception is javax.naming.CommunicationException: 
> Communication exception for 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> java.lang.NullPointerException]]
> at 
> org.glassfish.javaee.services.ResourceProxy.throwResourceNotFoundException(ResourceProxy.java:119)
> at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:95)
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:507)
> ... 42 more
> Caused by: javax.naming.CommunicationException: Communication exception for 
> SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,
>  java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is 
> java.lang.NullPointerException]
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:542)
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
> at javax.naming.InitialContext.lookup(InitialContext.java:411)
> at javax.naming.InitialContext.lookup(InitialContext.java:411)
> at 
> com.sun.appserv.connectors.internal.api.ResourceNamingService.lookup(ResourceNamingService.java:221)
> at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:93)
> ... 43 more
> Caused by: java.lang.NullPointerException
> at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
> at 
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
> at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63)
> at 
> javax.naming.spi.NamingManager.getObjectFactoryFromReference(NamingManager.java:146)
> at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:319)
> at 
> com.sun.enterprise.naming.impl.SerialContext.getObjectInstance(SerialContext.java:556)
> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:514)
> ... 48 more
> |#]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to