Hallo Community,
ich habe folgendes Problem: Ich habe eine stateful SessionBean in der ich eine Methode aufrufe und danach eine EntityBean an eine 2. Stateful-SessionBean übergebe und kurz danach möchte ich diese in der 2. SessionBean bearbeiten, jedoch wenn ich das deploye ist der Wert null. Vielleicht könnt ihr mir irgendwie helfen.
Methode in der 2.SessionBean
ich habe folgendes Problem: Ich habe eine stateful SessionBean in der ich eine Methode aufrufe und danach eine EntityBean an eine 2. Stateful-SessionBean übergebe und kurz danach möchte ich diese in der 2. SessionBean bearbeiten, jedoch wenn ich das deploye ist der Wert null. Vielleicht könnt ihr mir irgendwie helfen.
Java:
package com.openflow.server;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateful;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.openflow.dto.AccountTO;
import com.openflow.dto.SessionTO;
import com.openflow.service.ServiceLocator;
import com.openflow.session.ISession;
import com.openflow.session.ISessionLocal;
import com.openflow.tools.Common;
/**
* Session Bean implementation class ServerService
*/
@Stateful
public class ServerService implements IServer {
private ServiceLocator sLocator = ServiceLocator.getInstance();
@EJB(name="SessionService") ISessionLocal sessionLocal;
@PersistenceContext(unitName="openflowDS")
private EntityManager em;
/**
* Default constructor.
*/
public ServerService() {
// TODO Auto-generated constructor stub
}
@Override
public ISession login(String user, String pass) {
// TODO Auto-generated method stub
AccountTO acc = getAccount(user);
if(user.equals(acc.getUserid()) && pass.equals(acc.getPassword())) {
ISession sessionRemote = sLocator.getSessionRemote();
[B]sessionLocal.setAccount(acc);[/B]
SessionTO session = sessionLocal.getSession();
if(session==null) {
System.out.println("SESSION==NULL");
[B]sessionLocal.createSession();[/B]
return sessionRemote;
} else {
if(sessionRemote.isSessionAvailable()) {
System.out.println("SESSION==AVAILABLE");
return sessionRemote;
} else {
System.out.println("SESSION==NOT AVAILABLE");
sessionLocal.createSession();
return sessionRemote;
}
}
}
return null;
}
Methode in der 2.SessionBean
Java:
@Override
public void createSession() {
// TODO Auto-generated method stub
if(account!=null) {
SessionTO session = new SessionTO();
session.setUserId(account.getUserid());
session.setSessionId(id.getID());
Date date = new Date();
session.setSessionStart(sdf.format(date));
long now = date.getTime();
Date sessionEnd = new Date();
sessionEnd.setTime(now+Common.OPENFLOW_SESSION_DURATION);
session.setSessionEnd(sdf.format(sessionEnd));
this.session=session;
em.persist(session);
}
}