EJB (Enterprise Java Beans) - por favor ayuda con ejb

   
Vista:

por favor ayuda con ejb

Publicado por carlos adrian soto (1 intervención) el 05/02/2011 23:05:27
buenas tardes de ante mano mil gracias, por su colaboracion, la situacion es la siguiente, yo estoy tratando de adaptar un codigo que tengo de beans persistentes a un ejb de la siguiente manera, tengo varias clases encargadas de comunicarsen con la base de datos y devolverme los objetos persistentes, hasta hi no hay problema, por cada clase tengo una interface que tampoco tiene problema, pero tengo una clase que es la que se encarga de crear las clases de persistencia atravez de las interfaces lamada DAofActory, ahora bien cuando intento crear el ejb lo que hago es lo siguiente, me olvido de las clases persistentes y las entidedades o objetos que estas utilizan ya que se que funcionan a la perfeccion, y las dejo en el paquete de las clases ejb, luego las interfaces las meto en el paquete de interface remota, que seran las invocadas por el cliente y creo una interface home para la posterioro comunicacion que lo que hace es definir el metodo create de la siguiente manera Daofactory create() throws RemoteException, CreateException; porque es con el daofactory con quien me quiero comunicar para crear todas las intancias requeridas, pero cuando levanto los servicios de jbos me muestrfa los siguiente errores:

Bean : InmobiliariaWeb
Method : public abstract Daofactory create() throws RemoteException, CreateException
Section: 7.10.6
Warning: The return type for a create(...) method must be the session bean's remote interface type.

adjunto el codigo de la interface remota , el daofacfactory y la interface home

cabe agragar que estoy utilizando beans de sesion ya que la persistencia, la conexion y todo lo referente a la comunicacion con la base de datos lo hacen las clases de java

esta es la interface remota

public interface CreateDao extends EJBObject {


public ZonasDao getZonasDao(String nombreempresa) throws EJBException, RemoteException;

public CiudadDao getCiudaddao(String nombreempresa) throws EJBException, RemoteException;

public DepartamentoDao getDepartamentodao(String nombreempresa) throws EJBException, RemoteException;

public PaisDao getPaisdao(String nombreempresa) throws EJBException, RemoteException;

public AccionDao getAcciondao(String nombreempresa) throws EJBException, RemoteException ;

public AuxiliarDao getAuxiliardao(String nombreempresa) throws EJBException, RemoteException;

public PerfilAccionDao getPerfilcacciondao(String nombreempresa) throws EJBException, RemoteException;

public PerfilDao getPerfildao(String nombreempresa) throws EJBException, RemoteException;

public BarrioDao getBarriodao(String nombreempresa) throws EJBException, RemoteException;

public UsuarioAccionDao getUsuarioacciondao(String nombreempresa) throws EJBException, RemoteException;

public UsuarioDao getUsuariodao(String nombreempresa) throws EJBException, RemoteException;

public FichaDao getfichadao(String nombreempresa) throws EJBException, RemoteException ;

}
esta es la clase DAofactory que habre la conexion con la db y crea las instancias de las clases ejb atraves de las interfaces
public static DataSourceTransactionManager getTransactionManager() {
if(txManager == null) {
try {
BasicDataSource ds = new BasicDataSource();
Properties properties = new Properties();
File file = new File("config");
String path = file.getCanonicalPath() + System.getProperty("file.separator") + "config.properties";
properties.load(new FileInputStream(path));
ds.setDriverClassName(properties.getProperty("driver"));
ds.setUrl(properties.getProperty("url"));
ds.setUsername(properties.getProperty("user"));
ds.setPassword(properties.getProperty("password"));
txManager = new DataSourceTransactionManager(ds);
}
catch(IOException iex) { iex.printStackTrace(); }
}
return txManager;
}

public static ZonasDao getZonasDao(String nombreempresa) throws EJBException, RemoteException {
if(zonasDao==null){
ZonasDaoImpl dao=new ZonasDaoImpl();
dao.setTransactionManager(getTransactionManager());
zonasDao=dao;
}
zonasDao.setNomempresa(nombreempresa);
return zonasDao;
}

public static CiudadDao getCiudaddao(String nombreempresa) throws EJBException, RemoteException {
if(ciudaddao==null){
CiudadDaoImpl dao=new CiudadDaoImpl();
dao.setTransactionManager(getTransactionManager());
ciudaddao=dao;
}
ciudaddao.setNomempresa(nombreempresa);
return ciudaddao;
}

public static DepartamentoDao getDepartamentodao(String nombreempresa) throws EJBException, RemoteException {
if(departamentodao==null){
DepartamentoDaoImpl dao=new DepartamentoDaoImpl();
dao.setTransactionManager(getTransactionManager());
departamentodao=dao;
}
departamentodao.setNomempresa(nombreempresa);
return departamentodao;

}

public static PaisDao getPaisdao(String nombreempresa) throws EJBException, RemoteException {
if(paisdao==null){
PaisDaoImpl dao=new PaisDaoImpl();
dao.setTransactionManager(getTransactionManager());
paisdao=dao;
}
paisdao.setNomempresa(nombreempresa);
return paisdao;
}

public static AccionDao getAcciondao(String nombreempresa) throws EJBException, RemoteException {
if(acciondao==null){
AccionDaoImpl dao=new AccionDaoImpl();
dao.setTransactionManager(getTransactionManager());
acciondao=dao;
}
acciondao.setNomempresa(nombreempresa);
return acciondao;
}

public static AuxiliarDao getAuxiliardao(String nombreempresa) throws EJBException, RemoteException{
if(auxiliardao==null){
AuxiliarDaoImpl dao=new AuxiliarDaoImpl();
dao.setTransactionManager(getTransactionManager());
auxiliardao=dao;
}
auxiliardao.setNomempresa(nombreempresa);
return auxiliardao;
}

public static PerfilAccionDao getPerfilcacciondao(String nombreempresa) throws EJBException, RemoteException {
if(perfilcacciondao==null){
PerfilAccionDaoImpl dao=new PerfilAccionDaoImpl();
dao.setTransactionManager(getTransactionManager());
perfilcacciondao=dao;
}
perfilcacciondao.setNomempresa(nombreempresa);
return perfilcacciondao;
}

public static PerfilDao getPerfildao(String nombreempresa) throws EJBException, RemoteException {
if(perfildao==null){
PerfilDaoImpl dao=new PerfilDaoImpl();
dao.setTransactionManager(getTransactionManager());
perfildao=dao;
}

perfildao.setNomempresa(nombreempresa);
return perfildao;
}

public static BarrioDao getBarriodao(String nombreempresa) throws EJBException, RemoteException {
if(barriodao==null){
BarrioDaoImpl dao=new BarrioDaoImpl();
dao.setTransactionManager(getTransactionManager());
barriodao=dao;
}
barriodao.setNomempresa(nombreempresa);
return barriodao;
}

public static UsuarioAccionDao getUsuarioacciondao(String nombreempresa) throws EJBException, RemoteException {
if(usuarioacciondao==null){
UsuarioAccionDaoImpl dao=new UsuarioAccionDaoImpl();
dao.setTransactionManager(getTransactionManager());
usuarioacciondao=dao;
}
usuarioacciondao.setNomempresa(nombreempresa);
return usuarioacciondao;
}

public static UsuarioDao getUsuariodao(String nombreempresa) throws EJBException, RemoteException {
if(usuariodao==null){
UsuarioDaoImpl dao=new UsuarioDaoImpl();
dao.setTransactionManager(getTransactionManager());
usuariodao=dao;
}
usuariodao.setNomempresa(nombreempresa);
return usuariodao;
}

public static FichaDao getfichadao(String nombreempresa) throws EJBException, RemoteException {
if(fichaDao==null){
FichaDaoImpl dao=new FichaDaoImpl();
dao.setTransactionManager(getTransactionManager());
fichaDao=dao;
}
fichaDao.setNomempresa(nombreempresa);
return fichaDao;
}

public void setSessionContext(SessionContext sc) throws EJBException, RemoteException {
throw new UnsupportedOperationException("Not supported yet.");
}

public void ejbRemove() throws EJBException, RemoteException {
throw new UnsupportedOperationException("Not supported yet.");
}

public void ejbActivate() throws EJBException, RemoteException {
throw new UnsupportedOperationException("Not supported yet.");
}

public void ejbPassivate() throws EJBException, RemoteException {
throw new UnsupportedOperationException("Not supported yet.");
}

public void ejbCreate(){}


}
y esta es la interface home
public interface SerHome extends EJBHome{
Daofactory create() throws RemoteException, CreateException;
}
lo que pretendo es aceder a sus metodos estaticos para otener las interfaces y asu vez aceder a los metodos de clase.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder