Foro sobre Java EE > Inyección con Spring 3 de Stateless Bean usando IBM/Websphere v7
Hola a Todos, apenas empece a usar Spring con Websphere Application Server v7 de IBM pero no he podido inyectar en un POJO un EJB Stateless me marca el siguiente mensaje: Caused by: javax.naming.NameNotFoundException: Name "ejb/CalculatorBean" not found in context "java:". at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1178) at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1095) at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1233) at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:395) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:220) at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:160) at javax.naming.InitialContext.lookup(InitialContext.java:436) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)
La configuración que tengo es:
La interfaz
@Remote public interface CalculatorService {
public int add(int i, int j);
}
la implementación: @Stateless(name="ejb/CalculatorBean", mappedName="ejb/CalculatorBean") public class CalculatorBean implements CalculatorService {
public CalculatorBean() {}
public int add(int i, int j) {
System.out.println("Estoy en EJB");
int k = i + j ; System.out.println(i + " + " + j +" = " + k); return k; } }
para la propiedad de jndiName también lo he intentado con: <property name="jndiName"> <value>java:comp/env/ejb/CalculatorBean</value> y me marca:
Caused by: javax.naming.NameNotFoundException: Name comp/env/ejb/CalculatorBean not found in context java:. at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1767)
Como puedo injectar el EJB con spring? Espero puedan ayudarme
Hola a Todos, apenas empece a usar Spring con Websphere Application Server v7 de IBM pero no he podido inyectar en un POJO un EJB Stateless me marca el siguiente mensaje:
Caused by: javax.naming.NameNotFoundException: Name "ejb/CalculatorBean" not found in context "java:".
at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1178)
at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:1095)
at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1233)
at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:395)
at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:220)
at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:160)
at javax.naming.InitialContext.lookup(InitialContext.java:436)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)
La configuración que tengo es:
La interfaz
@Remote
public interface CalculatorService {
public int add(int i, int j);
}
la implementación:
@Stateless(name="ejb/CalculatorBean", mappedName="ejb/CalculatorBean")
public class CalculatorBean implements CalculatorService {
public CalculatorBean() {}
public int add(int i, int j) {
System.out.println("Estoy en EJB");
int k = i + j ;
System.out.println(i + " + " + j +" = " + k);
return k;
}
}
y mi archivo de contexto de spring es:
<property name="jndiName">
<value>ejb/CalculatorBean</value>
</property>
<property name="businessInterface">
<value>org.legosoft.CalculatorService</value>
</property>
para la propiedad de jndiName también lo he intentado con:
<property name="jndiName">
<value>java:comp/env/ejb/CalculatorBean</value>
y me marca:
Caused by: javax.naming.NameNotFoundException: Name comp/env/ejb/CalculatorBean not found in context java:.
at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1767)
Como puedo injectar el EJB con spring? Espero puedan ayudarme