Voil=E0, j'ai une webapp qui a un pool de chiffre a attribuer =E0 des=20
utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de d=E9marre cette webapp en deu=
x=20
exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps....=
=2E
Cela est-il possible? Si oui comment?
Sinon, une solution =E0 me proposer? J'ai bien pens=E9 =E0 un fichier txt=
ou=20
je stocke mes chiffres... mais cette solution ne me plait pas trop...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
captainpaf
Bonjour, :)
Salut,
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
étonnant !
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Les 2 webapp sont identiques ?? Ben alors allons y gaiement, pourquoi pas une 3ème webapp qui contiendrait une servlet faisant appel à une méthode synchronizée d'une class static ? Des 2 webapp, tu appels cette servlet qui se charge de l'ajout ou le retrait des chiffres. Mais bon, c'est vraiment en attendant de trouver une meilleur solution... Comme par exemple de passer outre les raisons "idiotes" qui te pousses à executer les 2 webapp identiques dans 2 context différents.
Bonjour, :)
Salut,
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des
utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux
exemplaires (soit deux contextes dans tomcat).
étonnant !
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment?
Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou
je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Les 2 webapp sont identiques ?? Ben alors allons y gaiement, pourquoi
pas une 3ème webapp qui contiendrait une servlet faisant appel à une
méthode synchronizée d'une class static ? Des 2 webapp, tu appels
cette servlet qui se charge de l'ajout ou le retrait des chiffres.
Mais bon, c'est vraiment en attendant de trouver une meilleur
solution... Comme par exemple de passer outre les raisons "idiotes"
qui te pousses à executer les 2 webapp identiques dans 2 context
différents.
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
étonnant !
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Les 2 webapp sont identiques ?? Ben alors allons y gaiement, pourquoi pas une 3ème webapp qui contiendrait une servlet faisant appel à une méthode synchronizée d'une class static ? Des 2 webapp, tu appels cette servlet qui se charge de l'ajout ou le retrait des chiffres. Mais bon, c'est vraiment en attendant de trouver une meilleur solution... Comme par exemple de passer outre les raisons "idiotes" qui te pousses à executer les 2 webapp identiques dans 2 context différents.
seb
solution... Comme par exemple de passer outre les raisons "idiotes" qui te pousses à executer les 2 webapp identiques dans 2 context différents.
En fait les raisons sont simples: le premier contexte est appellé par un mapping en httpS.
Or, nos ... de clients ne peuvent pas accéder au site en https de leur intranet (merci le firewall!) Comme c'est trop compliqué oulala! d'ouvrir le port ssl, on leur a fait une adresse 'spéciale' rien que pour eux à laquelle ils peuvent accé der. En déclarant donc un deuxième contexte dans server.xml...
D'où les deux webapps... bon maintenant s'il y a moyen de faire pointer deux contextes sur la meme webapp, je suis preneur! :)
(Je suis pas un pro de l'admin tomcat, c'est l'admin tomcat qui a fait ca comme ca... c'est lui qu'il faudra blâmer si sa solution est nulllle ! :p )
solution... Comme par exemple de passer outre les raisons "idiotes"
qui te pousses à executer les 2 webapp identiques dans 2 context
différents.
En fait les raisons sont simples:
le premier contexte est appellé par un mapping en httpS.
Or, nos ... de clients ne peuvent pas accéder au site en https de leur
intranet (merci le firewall!)
Comme c'est trop compliqué oulala! d'ouvrir le port ssl, on leur a fait
une adresse 'spéciale' rien que pour eux à laquelle ils peuvent accé der.
En déclarant donc un deuxième contexte dans server.xml...
D'où les deux webapps... bon maintenant s'il y a moyen de faire pointer
deux contextes sur la meme webapp, je suis preneur! :)
(Je suis pas un pro de l'admin tomcat, c'est l'admin tomcat qui a fait
ca comme ca... c'est lui qu'il faudra blâmer si sa solution est nulllle !
:p )
solution... Comme par exemple de passer outre les raisons "idiotes" qui te pousses à executer les 2 webapp identiques dans 2 context différents.
En fait les raisons sont simples: le premier contexte est appellé par un mapping en httpS.
Or, nos ... de clients ne peuvent pas accéder au site en https de leur intranet (merci le firewall!) Comme c'est trop compliqué oulala! d'ouvrir le port ssl, on leur a fait une adresse 'spéciale' rien que pour eux à laquelle ils peuvent accé der. En déclarant donc un deuxième contexte dans server.xml...
D'où les deux webapps... bon maintenant s'il y a moyen de faire pointer deux contextes sur la meme webapp, je suis preneur! :)
(Je suis pas un pro de l'admin tomcat, c'est l'admin tomcat qui a fait ca comme ca... c'est lui qu'il faudra blâmer si sa solution est nulllle ! :p )
seb
Hum, en fait j'ai jetté un oeil dans le fichier de conf:
Il faudrait donc faire pointer deux host sur un seul contexte...
Des idées???
merci! :)
Seb X
hummmm....
Il faut savoir, c'est deux hosts différents ou deux ports différents (pas la meme chose)
Apparemment comme il s'agit d'un problème de Firewall, il faut rajouter un port (sûrement 80) Et donc regarder dans server.xml et rajouter <Http10Connector port etc etc ....>
"seb" a écrit dans le message de news: 3f98f700$0$27579$ Hum, en fait j'ai jetté un oeil dans le fichier de conf:
Il faudrait donc faire pointer deux host sur un seul contexte...
Des idées???
merci! :)
hummmm....
Il faut savoir, c'est deux hosts différents ou deux ports différents (pas la
meme chose)
Apparemment comme il s'agit d'un problème de Firewall, il faut rajouter un
port (sûrement 80)
Et donc regarder dans server.xml et rajouter <Http10Connector port etc etc
....>
"seb" <omera@free.fr> a écrit dans le message de news:
3f98f700$0$27579$626a54ce@news.free.fr...
Hum, en fait j'ai jetté un oeil dans le fichier de conf:
Il faut savoir, c'est deux hosts différents ou deux ports différents (pas la meme chose)
Apparemment comme il s'agit d'un problème de Firewall, il faut rajouter un port (sûrement 80) Et donc regarder dans server.xml et rajouter <Http10Connector port etc etc ....>
"seb" a écrit dans le message de news: 3f98f700$0$27579$ Hum, en fait j'ai jetté un oeil dans le fichier de conf:
Il faudrait donc faire pointer deux host sur un seul contexte...
Des idées???
merci! :)
Xavier Tarrago
Bon, petites réflexions sur le sujet (sans garanties...) D'abord, ce qui doit être partagé, c'est une classe, ou une instance? Je suppose que c'est une instance créée par un contexte et utilisé par les deux.
1 - Créer un singleton (ou une classe service basée sur un singleton). La classe doit être dans un jar déposé dans les librairies common de tomcat (<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par un class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y a soit un container EJB, soit un web service. C'est fait pour ça, mais ça doit nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un autre contexte par Servletcontext.getContext( string). Il faudrait créer un troisième contexte qui gérerait le pool. Ensuite, les deux applications utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus lourde. (étonnant, non ?). La solution 1 ne doit pas être conforme avec la spéc j2ee. La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à l'instant que ce n'est pas précisé dans la question.
"seb" a écrit dans le message de news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Bon, petites réflexions sur le sujet (sans garanties...)
D'abord, ce qui doit être partagé, c'est une classe, ou une instance?
Je suppose que c'est une instance créée par un contexte et utilisé par les
deux.
1 - Créer un singleton (ou une classe service basée sur un singleton). La
classe doit être dans un jar déposé dans les librairies common de tomcat
(<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par un
class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y a
soit un container EJB, soit un web service. C'est fait pour ça, mais ça doit
nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un
autre contexte par Servletcontext.getContext( string). Il faudrait créer un
troisième contexte qui gérerait le pool. Ensuite, les deux applications
utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus
lourde. (étonnant, non ?).
La solution 1 ne doit pas être conforme avec la spéc j2ee.
La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à
l'instant que ce n'est pas précisé dans la question.
"seb" <omera@free.fr> a écrit dans le message de
news:3f98e76c$0$27575$626a54ce@news.free.fr...
Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des
utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux
exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment?
Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou
je stocke mes chiffres... mais cette solution ne me plait pas trop...
Bon, petites réflexions sur le sujet (sans garanties...) D'abord, ce qui doit être partagé, c'est une classe, ou une instance? Je suppose que c'est une instance créée par un contexte et utilisé par les deux.
1 - Créer un singleton (ou une classe service basée sur un singleton). La classe doit être dans un jar déposé dans les librairies common de tomcat (<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par un class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y a soit un container EJB, soit un web service. C'est fait pour ça, mais ça doit nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un autre contexte par Servletcontext.getContext( string). Il faudrait créer un troisième contexte qui gérerait le pool. Ensuite, les deux applications utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus lourde. (étonnant, non ?). La solution 1 ne doit pas être conforme avec la spéc j2ee. La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à l'instant que ce n'est pas précisé dans la question.
"seb" a écrit dans le message de news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Frederic Pepin
Salut Seb,
D'après la doc de Tomcat: "The shared class loader: This class loader is the place to put classes and resources that you wish to share across ALL web applications (unless Tomcat internal classes also need access, in which case you should put them in the Common class loader instead). All unpacked classes and resources in $CATALINA_HOME/shared/classes."
Je pense que tu pourrais wrapper ton code dans un "Singleton" et par créer un ensemble de methodes statiques qui te permetteront d'obtenir et ajouter des chiffres dans ton pool...
Pour plus d'info sur class loader : http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html
Frederic
"seb" wrote in message news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Salut Seb,
D'après la doc de Tomcat: "The shared class loader: This class loader is the
place to put classes and resources that you wish to share across ALL web
applications (unless Tomcat internal classes also need access, in which case
you should put them in the Common class loader instead). All unpacked
classes and resources in $CATALINA_HOME/shared/classes."
Je pense que tu pourrais wrapper ton code dans un "Singleton" et par créer
un ensemble de methodes
statiques qui te permetteront d'obtenir et ajouter des chiffres dans ton
pool...
Pour plus d'info sur class loader :
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html
Frederic
"seb" <omera@free.fr> wrote in message
news:3f98e76c$0$27575$626a54ce@news.free.fr...
Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des
utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux
exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment?
Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou
je stocke mes chiffres... mais cette solution ne me plait pas trop...
D'après la doc de Tomcat: "The shared class loader: This class loader is the place to put classes and resources that you wish to share across ALL web applications (unless Tomcat internal classes also need access, in which case you should put them in the Common class loader instead). All unpacked classes and resources in $CATALINA_HOME/shared/classes."
Je pense que tu pourrais wrapper ton code dans un "Singleton" et par créer un ensemble de methodes statiques qui te permetteront d'obtenir et ajouter des chiffres dans ton pool...
Pour plus d'info sur class loader : http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html
Frederic
"seb" wrote in message news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Frederic Pepin
Je suis d'accord avec toi pour la solution 1: c'est pas très élégant. Cependant, en créant un "Custom Ressources Factory", il serait possible d'accéder au pool en utilisant JNDI (http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-resources-howto.html), ce qui correspondrait mieux à la spec J2EE...
Frederic
"Xavier Tarrago" wrote in message news:bnb8tu$pld$
Bon, petites réflexions sur le sujet (sans garanties...) D'abord, ce qui doit être partagé, c'est une classe, ou une instance? Je suppose que c'est une instance créée par un contexte et utilisé par les
deux.
1 - Créer un singleton (ou une classe service basée sur un singleton). La
classe doit être dans un jar déposé dans les librairies common de tomcat (<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par un
class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y a
soit un container EJB, soit un web service. C'est fait pour ça, mais ça doit
nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un autre contexte par Servletcontext.getContext( string). Il faudrait créer un
troisième contexte qui gérerait le pool. Ensuite, les deux applications utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus lourde. (étonnant, non ?). La solution 1 ne doit pas être conforme avec la spéc j2ee. La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à l'instant que ce n'est pas précisé dans la question.
"seb" a écrit dans le message de news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
Je suis d'accord avec toi pour la solution 1: c'est pas très élégant.
Cependant, en créant un "Custom Ressources Factory", il serait possible
d'accéder au pool en utilisant JNDI
(http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-resources-howto.html),
ce qui correspondrait mieux à la spec J2EE...
Frederic
"Xavier Tarrago" <Xavier.Tarrago@cea.fr> wrote in message
news:bnb8tu$pld$1@ellebore.saclay.cea.fr...
Bon, petites réflexions sur le sujet (sans garanties...)
D'abord, ce qui doit être partagé, c'est une classe, ou une instance?
Je suppose que c'est une instance créée par un contexte et utilisé par
les
deux.
1 - Créer un singleton (ou une classe service basée sur un singleton).
La
classe doit être dans un jar déposé dans les librairies common de tomcat
(<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par
un
class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y
a
soit un container EJB, soit un web service. C'est fait pour ça, mais ça
doit
nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un
autre contexte par Servletcontext.getContext( string). Il faudrait créer
un
troisième contexte qui gérerait le pool. Ensuite, les deux applications
utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus
lourde. (étonnant, non ?).
La solution 1 ne doit pas être conforme avec la spéc j2ee.
La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à
l'instant que ce n'est pas précisé dans la question.
"seb" <omera@free.fr> a écrit dans le message de
news:3f98e76c$0$27575$626a54ce@news.free.fr...
Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des
utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux
exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment?
Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou
je stocke mes chiffres... mais cette solution ne me plait pas trop...
Je suis d'accord avec toi pour la solution 1: c'est pas très élégant. Cependant, en créant un "Custom Ressources Factory", il serait possible d'accéder au pool en utilisant JNDI (http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-resources-howto.html), ce qui correspondrait mieux à la spec J2EE...
Frederic
"Xavier Tarrago" wrote in message news:bnb8tu$pld$
Bon, petites réflexions sur le sujet (sans garanties...) D'abord, ce qui doit être partagé, c'est une classe, ou une instance? Je suppose que c'est une instance créée par un contexte et utilisé par les
deux.
1 - Créer un singleton (ou une classe service basée sur un singleton). La
classe doit être dans un jar déposé dans les librairies common de tomcat (<tomcat_home>/common/lib). Je pense qu'elle doit alors être chargée par un
class loader partagé entre tous les contextes.
2 - Créer un service partagé par les deux applications. Pour cela, il y a
soit un container EJB, soit un web service. C'est fait pour ça, mais ça doit
nécessiter un plus gros investissement (en temps).
3 - L'attribut de contexte tomcat crossContext permet de récupérer un autre contexte par Servletcontext.getContext( string). Il faudrait créer un
troisième contexte qui gérerait le pool. Ensuite, les deux applications utiliseraient ce contexte pour récupérer une référence sur le pool.
Notes : A mon avis, seule la solution 2 est portable. C'est aussi la plus lourde. (étonnant, non ?). La solution 1 ne doit pas être conforme avec la spéc j2ee. La solution 3 est spécifique tomcat.
PS : j'ai supposé que l'environnement est tomcat et je m'apercois à l'instant que ce n'est pas précisé dans la question.
"seb" a écrit dans le message de news:3f98e76c$0$27575$ Bonjour, :)
Voilà, j'ai une webapp qui a un pool de chiffre a attribuer à des utilisateurs.
Pour des raisons idiotes, je suis OBLIGE de démarre cette webapp en deux exemplaires (soit deux contextes dans tomcat).
Seulement, je veux que le pool de chiffre soit commun au deux webapps.....
Cela est-il possible? Si oui comment? Sinon, une solution à me proposer? J'ai bien pensé à un fichier txt ou je stocke mes chiffres... mais cette solution ne me plait pas trop...
Merci à tous! :)
seb
Bon! :)
Merci merci pour vos conseils, je vais réfléchir à tous ça et uti liser la meilleure solution possible par rapport à mon appli! ;)
Merci encore,
seb.
Bon! :)
Merci merci pour vos conseils, je vais réfléchir à tous ça et uti liser
la meilleure solution possible par rapport à mon appli! ;)