3.2.10. Alterações de Invocação Remota
3.2.10.1. Migração dos Aplicativos Implantados do JBoss EAP 5 que Realizam Invocações Remotas no JBoss EAP 6 Copiar o linkLink copiado para a área de transferência!
No JBoss EAP 5, a interface remota do EJB era vinculada ao JNDI, por padrão, sob o nome "ejbName/local" para as interfaces locais e "ejbName/remote" para as interfaces remotas. O aplicativo do cliente, então, pesquisava o bean usando "ejbName/remote".
ejb:BEAN_REFERENCE para o acesso remoto aos EJBs com a seguinte sintaxe.
ejb:BEAN_REFERENCE é:
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>
ejb:BEAN_REFERENCE é:
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>?stateful
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>?stateful
<app-name>- o nome do aplicativo dos EJBs implantados. Este é tipicamente o nome ear sem o sufixo .ear, no entanto, o nome pode ser substituído no arquivo application.xml. Se o aplicativo não é implantado como um .ear, esse valor é uma cadeia vazia. Presume-se que este exemplo não foi implantado como um EAR.<module-name>- o nome do módulo dos EJBs implantados no servidor. Isto é tipicamente o nome jar da implantação EJB, sem o sufixo .jar, porém pode ser substituído usando o ejb-jar.xml. Neste exemplo, presuma que os EJBs foram implantados em um jboss-ejb-remote-app.jar, portanto o nome do módulo é jboss-ejb-remote-app.<distinct-name>- um nome distinto opcional para o EJB. Este exemplo não usa um nome distinto, portanto usa-se uma cadeia vazia.<bean-name>- por padrão, é o nome de classe simples da classe de implantação do bean.<fully-qualified-classname-of-the-remote-interface>- o nome da classe inteiramente qualificado de visualização remota.
Suponha que você tenha implantado o seguinte EJB sem monitorização de estado em um servidor do JBoss EAP 6. Observe que isto expõe uma visualização remota para o bean.
final RemoteCalculator statefulRemoteCalculator = (RemoteCalculator) context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName + "?stateful")
final RemoteCalculator statefulRemoteCalculator = (RemoteCalculator) context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName + "?stateful")