calling EJB from remote standalone client
First, read this article EJB invocations from a remote client using JNDI.
-
You need a file called 'jboss-ejb-client.properties' in your classpath, the file needs the basic config to connecto to your jboss server, for example:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
-
Create the EJB Remote proxy
Properties p = new Properties(); p.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); final Context context = new InitialContext(p); final String appName = "YOUR APP NAME"; final String moduleName = "YOUR EJB MODULE NAME"; final String distinctName = "DISTINCT NAME"; final String beanName = "Your bean name"; final String viewClassName = ClienteDAORemote.class.getName(); String path = "ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName; Object o = context.lookup(path); return (RemoteBean) o; //Cast to your remote interface
You need:
- A EJB with a remote interface
- A copy of the interface in your standalone client
- My properties files is for local and unsecured connections.
A example implementation is in this file. Its a example aplication that connects to a EJB Services, the entire repo is like your concept:
- A web application with JSF + PrimeFaces
- A EJB Bussiness Tier
- JPA with hibernate
- A standalone client
- EJB Web Services
Sorry for my bad english, cheers.
Gravian
Updated on June 04, 2022Comments
-
Gravian almost 2 years
i have a problem with connecting standalone desktop client with ejb on Jboss AS. So the question is how to remote call for EJB class from standalone client propably in java SE with swing windows ? and on the other side, is there something wrong with my concept ?
img link: http://i.imgur.com/ZnmRROU.jpg
-
Gravian almost 11 yearsNice answer, but will i be able to run this standalone client outside of jboss server like a desktop application ? Second thing is about entities, ive got about 5, do i have to make beans for each one and one for managing database or can i have all in one bean ?
-
Arturo Volpe almost 11 yearsYes, in the Repository you can see a client, I only test the client in the same machine, but if you provide a password and enable the jboss to listen from outside, then you should'n have problems. Second, i recomend you to have 5 entities and a bean for each entity, like a DAO, but you can have all methods and all logic in one bean. Cheers
-
SagittariusA over 2 yearsHi I'm experiencing an issue relating to this and I posted a question. Would you please have a look here? stackoverflow.com/questions/70353500/…