这是我在Stack Overflow中的第一个问题,所以我希望它不会太简单.我一直在寻找一个很好的解决方案,但现在我没有它.
我对EJB,JNDI和Java EE世界起了很大的作用,但在过去的几个月里,我已经能够在这种环境中做一些可接受的事情.现在我正在关注工作中的问题,现在解决方案并不像我想的那么好.
场景是这样的:我在Glassfih 3.1.2中运行了一个EAR应用程序.我已在此EAR应用程序中声明了EJB,其中无状态bean通过远程接口提供方法.
例如,这是我在名为server1的服务器中运行的Remote Bean
package com.booreg;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import com.booreg.IMyRemoteBean;
@Stateless
@LocalBean
public class MyRemoteBean implements IMyRemoteBean
{
@Override
public String helloWorld()
{
return "Hi what's up boy";
}
}
Run Code Online (Sandbox Code Playgroud)
这是它的接口
package com.booreg;
import javax.ejb.Remote;
@Remote
public interface IMyRemoteBean
{
public String helloWorld();
}
Run Code Online (Sandbox Code Playgroud)
然后我有第二个EAR应用程序必须在另一台服务器上运行,称为server2.第二个APP使用JSF和Managed Beans.我们有一个Managed Bean充当MyRemoteBeanRemote的远程客户端,如下所示:
package com.nucleus;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import com.booreg.IMyRemoteBean;
@ManagedBean
@ViewScoped
public class MyManagedBean
{
@EJB( name="TheRef") IMyRemoteBean myRemoteBean;
public String getPhrase() { return …Run Code Online (Sandbox Code Playgroud)