NullPointerException ( EclipseLink mit OSGi)

t.stein

Mitglied
Kann mir einer erklären, warum ich hier einen NullPointer bekomme? Ich rufe die Funktion initUserServerice auf.

Java:
public void initUserService() {		
		em = getEntityManager();
		em.getTransaction().begin();	
	}
	
	
    private EntityManagerFactory getEntityManagerFactory() {
        if (emf == null) {
            HashMap properties = new HashMap();
            properties.put(PersistenceUnitProperties.CLASSLOADER, this.getClass().getClassLoader());
            emf = new PersistenceProvider().createEntityManagerFactory("UserService", properties);
        }
        return emf;
    }
    
    private EntityManager getEntityManager() {
        if (em == null) {
            em = getEntityManagerFactory().createEntityManager();
        }
        return em;
    }
 
Weil ein Objekt auf eine NULL Referenz Zeigt.

Ohne Stacktrace kann man höchsten raten, wo die erste nullpointer kommt.
 
In der Zeile hier:

Java:
emf = new PersistenceProvider().createEntityManagerFactory("UserService", properties)
 
Java:
j
ava.lang.NullPointerException
	at de.info.hsag.edicat.persist.service.UserService.getEntityManager(UserService.java:53)
	at de.info.hsag.edicat.persist.service.UserService.initUserService(UserService.java:30)
	at de.info.hsag.edicat.persist.Application.start(Application.java:22)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
 
Deine EntityManagerFactory wird nicht korrrekt erzeugt.

Komisch, dass da keine Exception kommt.
 
Java:
 new PersistenceProvider().createEntityManagerFactory(
Aua :autsch:

Wozu machst du denn ein new, wenn die Methode doch statisch ist...
 
Hallo Zusammen,

danke für die Tipps. Letztendlich hat es daran gelegen, dass folgende Zeile in der MANIFEST.MF gefehlt hat:

"JPA-PersistenceUnits: UserService"

Vielleicht hilft das dem ein oder anderen weiter!
 

Neue Themen


Zurück
Oben