Author: echatellier Date: 2010-04-06 19:04:18 +0200 (Tue, 06 Apr 2010) New Revision: 2831 Log: Petite doc sur openejb embarqu?\195?\169 et client/serveur Added: trunk/src/site/rst/devel/openejb.rst Added: trunk/src/site/rst/devel/openejb.rst =================================================================== --- trunk/src/site/rst/devel/openejb.rst (rev 0) +++ trunk/src/site/rst/devel/openejb.rst 2010-04-06 17:04:18 UTC (rev 2831) @@ -0,0 +1,94 @@ +OpenEJB +======= + +Définition des EJB +------------------ + +Les implementations des services sont marqués avec l'annotation +@Stateless. + +Point à verifier pour les annotations @Webservice et @Local, @Remote +sur les interfaces. + +Embedded mode +------------- + +Intantanciation et recherche dans un ``InitialContext`` local : + +:: + + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.openejb.client.LocalInitialContextFactory"); + + InitialContext ctx = new InitialContext(properties); + + AccountService ejbHome = (AccountService)ctx.lookup("AccountServiceImplLocal"); + +Le nom "AccountServiceImplLocal" est ici une convention de nommage. + +TODO reference ? (EC : impossible à retrouver) + + +Server mode +----------- + +Tomcat +~~~~~~ + +Details : http://openejb.apache.org/tomcat.html + + +OpenEJB server +~~~~~~~~~~~~~~ + +Details : http://openejb.apache.org/remote-server.html +Testé avec : https://repository.apache.org/content/groups/snapshots/org/apache/openejb/op... + +Procedure: + - bin/openejb start & + - bin/openejb deploy lima-business-0.4.0-SNAPSHOT-jar-with-dependencies.jar + +Si le déploiment a réussi, openejb devrait afficher : + +:: + + Ejb(ejb-name=ReportServiceImpl, id=ReportServiceImpl) + Jndi(name=ReportServiceImplRemote) + + Ejb(ejb-name=RecordServiceImpl, id=RecordServiceImpl) + Jndi(name=RecordServiceImplRemote) + + Ejb(ejb-name=FinancialPeriodServiceImpl, id=FinancialPeriodServiceImpl) + Jndi(name=FinancialPeriodServiceImplRemote) + + Ejb(ejb-name=FiscalPeriodServiceImpl, id=FiscalPeriodServiceImpl) + Jndi(name=FiscalPeriodServiceImplRemote) + + Ejb(ejb-name=EntryBookServiceImpl, id=EntryBookServiceImpl) + Jndi(name=EntryBookServiceImplRemote) + + Ejb(ejb-name=TransactionServiceImpl, id=TransactionServiceImpl) + Jndi(name=TransactionServiceImplRemote) + + Ejb(ejb-name=AccountServiceImpl, id=AccountServiceImpl) + Jndi(name=AccountServiceImplRemote) + +Client +~~~~~~ + + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory"); + properties.put("java.naming.provider.url", "ejbd://127.0.0.1:4201"); + properties.put("java.naming.security.principal", "jonathan"); + properties.put("java.naming.security.credentials", "secret"); + + InitialContext ctx = new InitialContext(properties); + + AccountService ejbHome = (AccountService)ctx.lookup("AccountServiceImplRemote"); + +Les identifiants "jonathan/secret" sont ceux par defaut définit dans le fishier +OPENEJB_HOME/conf/users.properties + +Les jar "javaee-api-5.0-3-SNAPSHOT.jar" et "openejb-client-3.1.3-SNAPSHOT.jar" +doivent être EXACTEMENT les mêmes entre le serveur et le client (sinon +une NPE exception survient tout le temps). \ No newline at end of file
participants (1)
-
echatellier@users.chorem.org