2008-10-29 6 views
1

J'ai une application java qui fonctionne avec un EJB, si:Existe-t-il une méthode avancée pour mettre à jour les applications utilisant un EJB?

  1. L'EJB est mis à jour, l'application est cassée.
  2. Le serveur de l'application est mis à jour, l'application est cassée.

Sans intervention humaine, existe-t-il une méthode préférée pour mettre à jour les fichiers jar client pour le serveur et le bean de l'application?

Si la méthode préférée dépend du serveur d'applications, alors supposez jboss.

Répondre

0

C'est l'une des raisons pour lesquelles les gens migrent vers les services Web :) Ou utilisez JMS aussi. Vraiment, si votre serveur d'application est mis à jour ou si le fournisseur a été modifié, il est hors de question que vos stubs anciens/étrangers fonctionnent avec le nouveau code côté serveur. Rappelez-vous que EJB a déclaré qu'il devrait y avoir un rôle de déployeur d'application, c'est à lui de préparer client.jar pour les applications clientes et de le distribuer (ou peut-être c'est l'applicateur de l'application? : ce n'est pas une opération automatique)

Quelques astuces sont possibles (comme exigeant de placer client.jar sur lieu spécifique sur le serveur pour le télécharger par le client d'abord, puis utiliser chargeur de classe à utiliser), mais ceux-ci sont. plus de hacks que la pratique établie

En ce qui concerne les spécificités de JBoss, je n'ai aucune information

0

Vous êtes le problème de base est que si le contrat d'interface entre un composant change il casse l'autre composant. Ce n'est pas un problème limité aux applications et aux EJB, ce n'est pas sûr pour le compilateur. La seule approche automatisée que je connais est de configurer vos projets de manière à rendre le projet App dépendant du projet EJB (au sein de l'EDI et des fichiers de construction), ce qui vous permet de vérifier le compilateur. Et les déployer ensemble comme un EAR.

Si ce n'est pas une option, et qu'ils doivent être déployés séparément, votre développeur EJB doit être sur son jeu pour garder intactes les interfaces rétrocompatibles.

+0

Pour les interfaces, nous en avons deux. Un qui utilise nos objets sérialisés et un objet limité qui utilise uniquement des objets Java. – TJR

Questions connexes