我想从一个部署在Apache服务器上的servlet中调用存在于JBoss服务器中的Ejb。我可以这样做,如果可以,我该怎么做?
答案 0 :(得分:0)
让我们假设您的EJB看起来像这样:
package jboss.as;
import javax.ejb.Stateless;
@Stateless
public class MyEjb {
public long currentMillis() {
return System.currentTimeMillis();
}
}
在JSP中,您现在可以进行JNDI查找并检索对它的引用:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="javax.naming.InitialContext" import="javax.naming.NamingException" import="jboss.as.MyEjb" %>
<html>
<body>
<%
try {
InitialContext initialContext = new InitialContext();
MyEjb myEjb = (MyEjb)initialContext.lookup("java:module/MyEjb");
out.println(myEjb.currentMillis());
} catch (NamingException e) {
//TODO
}
%>
</body>
</html>