Hi,
I have got two wildfy (version 10, running both not in clustered mode, but in standalone mode):
In the first server, i have deploied an ejb module (jar) that contains a remote Ejb interface (EmailCheckRemote) with the implementation class (EmailCheckSecurity) .
@Stateless
@Remote(EmailCheckRemote.class)
class EmailCheckSecurity implements EmailCheckRemote{
remote method()..
}
public interface EmailCheckRemote{
remote method1()..
}
In the second wildfly i install a web application (war) and try to inject (in another ejb singleton) the interface of the remote ejb with @EJB annotation (web app act as client).
@EJB
EmailCheckRemote emailcheker;
Both module share the same interface of remoting ejb but the implemetation are only in the ejb deployed on first app server.
It works if i use lookup properties like this:
@EJB(lookup="ejb://scope-examples-ejb-3-server//EmailCheckSecurity!com.bluelotussoftware.example.boundary. EmailCheckRemote") EmailCheckRemote emailCheckRemote;
but it doesn't work with ejb only:
@EJB EmailCheckRemote emailCheckRemote;
When I deploy it the deployed failed.
Because i need a portable syntax (i also need to call remote ejb from another app server..) i don't want to use property lookup with ejb://.. but only @EJB.
Could be possible in wildfly?
I have tried these settings in standalone.xml (wildfly started again), but it doesn'twork:
<subsystem xmlns="urn:jboss:domain:naming:2.0">
<bindings>
<lookup name="java:global/EmailCheckRemote"
lookup="ejb://scope-examples-ejb-3-server//EmailCheckSecurity!com.bluelotussoftware.example.boundary.EmailCheckRemote"/>
</bindings>
<remote-naming/>
</subsystem>
Why not? What is wrong?
Thank you very much
Roberto