Tout marche tr=E8s bien, n=E9anmoins j'aimerai enlever les tests IF pour
travailler de mani=E8re g=E9n=E9rique.
En sachant que je dispose d'une variable String qui s'appelle appli
contenant le nom de mon EJB, je peux optimiser le code comme suit :
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je
=E9crire la s=E9quence : "EJB1Home home2 =3D (EJB1Home) ...." de mani=E8re
g=E9n=E9rique donc bon pour tout nom d'EJB positionner dans la variable
appli.
Tout marche très bien, néanmoins j'aimerai enlever les tests IF pou r travailler de manière générique. En sachant que je dispose d'une variable String qui s'appelle appli contenant le nom de mon EJB, je peux optimiser le code comme suit :
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de maniè re générique donc bon pour tout nom d'EJB positionner dans la variable appli.
Merci d'avance
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref, Class.forName(appli + "Home")); home.create();
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
-- Alexandre CARTAPANIS - Responsable Système et Réseau Email Gsm. 06 72 07 51 55
Tout marche très bien, néanmoins j'aimerai enlever les tests IF pou r
travailler de manière générique.
En sachant que je dispose d'une variable String qui s'appelle appli
contenant le nom de mon EJB, je peux optimiser le code comme suit :
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je
écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de maniè re
générique donc bon pour tout nom d'EJB positionner dans la variable
appli.
Merci d'avance
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home
étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref,
Class.forName(appli + "Home"));
home.create();
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email alexandre.cartapanis@macymed.fr
Gsm. 06 72 07 51 55
Tout marche très bien, néanmoins j'aimerai enlever les tests IF pou r travailler de manière générique. En sachant que je dispose d'une variable String qui s'appelle appli contenant le nom de mon EJB, je peux optimiser le code comme suit :
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de maniè re générique donc bon pour tout nom d'EJB positionner dans la variable appli.
Merci d'avance
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref, Class.forName(appli + "Home")); home.create();
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
-- Alexandre CARTAPANIS - Responsable Système et Réseau Email Gsm. 06 72 07 51 55
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de manière générique donc bon pour tout nom d'EJB positionner dans la variable appli.
Il semble que ta variable homexx ne vive que le temps du "if", et que tu actives toujours la même méthode dessus "create".
Donc, je me contenterais d'affecter cet homexx à une variable Object, puis de relever dessus la méthode "create" (methodcreate homexx.getClass().getMethod("create", null)), puis j'activerais la méthode (methodcreate.invoke(homexx, null)).
J'ai bon ?
-- Hervé AGNOUX http://www.diaam-informatique.com
senor_asp@yahoo.es wrote:
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je
écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de manière
générique donc bon pour tout nom d'EJB positionner dans la variable
appli.
Il semble que ta variable homexx ne vive que le temps du "if", et que tu
actives toujours la même méthode dessus "create".
Donc, je me contenterais d'affecter cet homexx à une variable Object, puis
de relever dessus la méthode "create" (methodcreate homexx.getClass().getMethod("create", null)), puis j'activerais la méthode
(methodcreate.invoke(homexx, null)).
Mais je bloque sur l'avant PortableRemoteObject, donc comment puis-je écrire la séquence : "EJB1Home home2 = (EJB1Home) ...." de manière générique donc bon pour tout nom d'EJB positionner dans la variable appli.
Il semble que ta variable homexx ne vive que le temps du "if", et que tu actives toujours la même méthode dessus "create".
Donc, je me contenterais d'affecter cet homexx à une variable Object, puis de relever dessus la méthode "create" (methodcreate homexx.getClass().getMethod("create", null)), puis j'activerais la méthode (methodcreate.invoke(homexx, null)).
J'ai bon ?
-- Hervé AGNOUX http://www.diaam-informatique.com
fabrice-pas-despame.bacchella
On Mon, 10 Apr 2006 17:49:46 +0200, in fr.comp.lang.java you wrote:
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref, Class.forName(appli + "Home")); home.create();
Et pour éviter de réecrire le code, une simple interface me semble encore plus légère, beaucoup plus que la méthode inutilement tordu (amha) à base d'introspection évoquée ailleurs avec les risques que cela implique d'utiiser des Object qui rendent aveugle tout le monde (le compilo, le développeur, le mainteneur).
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
On Mon, 10 Apr 2006 17:49:46 +0200, in fr.comp.lang.java you wrote:
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home
étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref,
Class.forName(appli + "Home"));
home.create();
Et pour éviter de réecrire le code, une simple interface me semble
encore plus légère, beaucoup plus que la méthode inutilement tordu
(amha) à base d'introspection évoquée ailleurs avec les risques que
cela implique d'utiiser des Object qui rendent aveugle tout le monde
(le compilo, le développeur, le mainteneur).
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
On Mon, 10 Apr 2006 17:49:46 +0200, in fr.comp.lang.java you wrote:
Perso je ferais un super classe, EJBHome, et EJB1Home et EJB2Home étendraient cette classe. Comme ca c'est pas compliqué,
EJBHome home = (EJBHome)PortableRemoteObject.narrow(objref, Class.forName(appli + "Home")); home.create();
Et pour éviter de réecrire le code, une simple interface me semble encore plus légère, beaucoup plus que la méthode inutilement tordu (amha) à base d'introspection évoquée ailleurs avec les risques que cela implique d'utiiser des Object qui rendent aveugle tout le monde (le compilo, le développeur, le mainteneur).
Bon après je suis pas expert EJB, aussi bien ce n'est pas possible...
Olivier Thomann
if (appli.equals("EJB1") == true) appli.equals("EJB1") == true est identique a appli.equals("EJB1").
De plus il est recommande d'inverser la condition: "EJB1".equals(appli). L'avantage? Pas besoin de tester qu'appli est non null. -- Olivier
if (appli.equals("EJB1") == true)
appli.equals("EJB1") == true est identique a appli.equals("EJB1").
De plus il est recommande d'inverser la condition:
"EJB1".equals(appli).
L'avantage? Pas besoin de tester qu'appli est non null.
--
Olivier
if (appli.equals("EJB1") == true) appli.equals("EJB1") == true est identique a appli.equals("EJB1").
De plus il est recommande d'inverser la condition: "EJB1".equals(appli). L'avantage? Pas besoin de tester qu'appli est non null. -- Olivier
fabrice-pas-despame.bacchella
On Tue, 11 Apr 2006 00:48:36 +0200, wrote:
Et pour éviter de réecrire le code, une simple interface me semble encore plus légère, beaucoup plus que la méthode inutilement tordu (amha) à base d'introspection évoquée ailleurs avec les risques que cela implique d'utiiser des Object qui rendent aveugle tout le monde (le compilo, le développeur, le mainteneur).
Ppour trouver la classe à utiliser, plus de test mais une Map de "EJB1" vers EJB1Home.class & "EJB2" vers EJB2Home.class.
Au total, on obtient un code expressif & facile a maintenir ou à étendre.
On Tue, 11 Apr 2006 00:48:36 +0200,
fabrice-pas-despame.bacchella@worldonline.fr wrote:
Et pour éviter de réecrire le code, une simple interface me semble
encore plus légère, beaucoup plus que la méthode inutilement tordu
(amha) à base d'introspection évoquée ailleurs avec les risques que
cela implique d'utiiser des Object qui rendent aveugle tout le monde
(le compilo, le développeur, le mainteneur).
Ppour trouver la classe à utiliser, plus de test mais une Map de
"EJB1" vers EJB1Home.class & "EJB2" vers EJB2Home.class.
Au total, on obtient un code expressif & facile a maintenir ou à
étendre.
Et pour éviter de réecrire le code, une simple interface me semble encore plus légère, beaucoup plus que la méthode inutilement tordu (amha) à base d'introspection évoquée ailleurs avec les risques que cela implique d'utiiser des Object qui rendent aveugle tout le monde (le compilo, le développeur, le mainteneur).
Ppour trouver la classe à utiliser, plus de test mais une Map de "EJB1" vers EJB1Home.class & "EJB2" vers EJB2Home.class.
Au total, on obtient un code expressif & facile a maintenir ou à étendre.