Rud*_*koŭ 5 java jboss ejb jakarta-ee
我正在使用 JBoss 和 EJB,我使用jboss-eap-quickstarts
我有server-side课:
package org.jboss.as.quickstarts.ejb.remote.stateless;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(RemoteCalculator.class)
public class CalculatorBean implements RemoteCalculator {
@Override
public int add(int a, int b) {
return a + b;
}
@Override
public int subtract(int a, int b) {
return a - b;
}
}
Run Code Online (Sandbox Code Playgroud)
我有client-side方法:
private static RemoteCalculator lookupRemoteStatelessCalculator() throws NamingException {
final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
return (RemoteCalculator) context.lookup(
"ejb:/jboss-as-ejb-remote-server-side/CalculatorBean!" + RemoteCalculator.class.getName()
);
}
Run Code Online (Sandbox Code Playgroud)
问题是:
Class/ Object/ 两个都?客户如何找到类/对象?ejb:/jboss-as-ejb-remote-server-side/CalculatorBean!" +
RemoteCalculator.class.getName()帮忙所以它不知道
host:port?CalculatorBean的逻辑在哪里执行?同样,如果它是在 处执行的,那么两个 s 之间的价值交换是如何进行的?serverclientServerjvm客户端查找类/对象是因为客户端依赖于服务器端(文件)的接口pom.xml。
它通过文件找到主机:端口jboss-eap-quickstarts/ejb-remote/client/src/main/resources/jboss-ejb-client.properties
注意,您可以配置服务器以在不同的端口上公开您的服务。
CalculatorBean逻辑将在服务器端执行。
对于我没有回答的所有问题(部署在何处、jvm 之间的值交换以及 JNDI 地址 ( ejb:/ ...) 如何允许客户端找到正确的服务),您应该阅读有关 JNDI 和 EJB 如何工作的信息。
这是一个好的开始:
| 归档时间: |
|
| 查看次数: |
11677 次 |
| 最近记录: |