gpt4 book ai didi

java - 在Web应用程序中调用EJB远程Bean

转载 作者:行者123 更新时间:2023-12-01 09:27:21 25 4
gpt4 key购买 nike

我刚刚开始阅读 EJB。

是否可以在单独的 Web 应用程序(war)中调用远程 bean?如果可能的话如何实现。我尝试过,如果两者都在同一个 EAR 中,Web 应用程序可以调用远程 bean,但我想在单独的 EJB + WAR 中调用它。

ps。我用的是glassfish 4.0

最佳答案

对于玻璃鱼,你可以尝试这个: https://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB

下面是我的 weblogic 示例。

1) 在您的 EAR 中,您应该有 @remote 注解的接口(interface)及其实现

@Remote
public interface Calculator {

public int add(int a, int b);

}

@Stateless(mappedName = "myCalculator")
public class CalculatorImpl implements Calculator {
@Override
public int add(int a, int b) {
return a + b;
}
}

2)您应该有一个客户端可以调用您的远程计算器

private static Calculator getRemoteCalculator() {
Hashtable<String, String> props = new Hashtable<String, String>();

props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "t3://localhost:7001");


try {
InitialContext ctx = new InitialContext(props);
return (Calculator) ctx.lookup("myCalculator#com.javaee.Calculator");
} catch (NamingException e) {
throw new RuntimeException(e);
}
}

3) 对于客户端,您应该将远程计算器 EJB 模块添加到构建阶段

关于java - 在Web应用程序中调用EJB远程Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39738212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com