2010-12-01 8 views
1

Dans Jboss 5.1, le service de profil fait ce que faisait le service de déploiement dans Jboss 4.x. Dans Jboss 4.x, j'utilisais le service de déploiement pour créer une source de données "on "à la volée" et je me demandais si je pouvais faire la même chose en utilisant le service de profil (puisque le service de déploiement n'existe plus dans Jboss 5.x). Est-ce que quelqu'un connaît un guide pratique sur l'utilisation de ProfileService?Mise à niveau de DeploymentService vers ProfileService dans JBoss 5.1.0 GA

Merci,

Cordialement.

Répondre

3

Je ne connais aucun guide mais je peux vous fournir mon expérience en utilisant le service de profil et quelques liens vers des pages wiki de JBoss sur ce sujet. Je voudrais poster plus de liens, mais la protection anti-spam ne me permet pas de publier plus de deux, mais vous devriez facilement trouver les autres pages dans le wiki sur le ProfileService. Ne sois pas surpris au cas où tu ne trouverais pas grand-chose, il n'y en a pas plus.

Vous y trouverez des informations utiles sur le ProfileService mais aucune information détaillée est disponible dans le wiki jboss pour autant que je peux dire. Pour créer des sources de données à la volée, vous pouvez utiliser DeploymentTemplates (également pour créer des files d'attente de messages et des rubriques). Le dernier lien vous fournit des informations sur l'utilisation des modèles et leurs propriétés. Vous pouvez les lister par programme si.

// Get all Templates 
for(String template : mgtView.getTemplateNames()) 
{ 
    System.out.println("========================================="); 
    System.out.println("Listing properties for template: "+template); 
    DeploymentTemplateInfo info = mgtView.getTemplate(template);  
    for(String prop : info.getProperties().keySet()) 
    System.out.println("- "+prop); 
} 

Afin d'obtenir le ManagementView (mgtView) à partir d'un programm java externe, vous pouvez utiliser quelque chose de similaire à ceci:

// set security policy 
System.setProperty("java.security.policy", "<path_to_policy_file>"); 
System.setSecurityManager(new RMISecurityManager()) ; 

// set initial context properties 
Hashtable<String, String> env = new Hashtable<String, String>(); 
env.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); 
env.put("java.naming.provider.url","jnp://localhost:1099"); 
env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces"); 

ctx = new InitialContext(env); 

// login to JBoss 
SecurityClient client = SecurityClientFactory.getSecurityClient(); 
client.setSimple("admin", "admin"); 
client.login(); 

// get ProfileService and ViewManager 
ProfileService ps = (ProfileService) ctx.lookup("ProfileService"); 
mgtView = ps.getViewManager(); 

Qu'est-ce que vous voulez obtenir est le Java Naming Conext (InitialContext). Pour ce faire, vous aurez besoin d'une politique de sécurité (vous pouvez utiliser le fichier java.policy qui se trouve dans JBOSS_HOME/server/SERVER_DIR/conf /), le gestionnaire de sécurité et les propriétés d'environnement pour obtenir le contexte. Le fichier java.naming.provider.url spécifie l'emplacement du service de dénomination JBoss (le port par défaut est 1099).

Habituellement, vous devrez vous authentifier à ce stade, ce qui est fait avec SecurityClient.

Enfin, vous pouvez utiliser le contexte pour grap le ProfileService.

À ce stade, la plupart du matériel d'anoying est fait et vous pouvez commencer à jouer. GetViewManager() renvoie le ViewManager avec lequel vous pouvez créer des sources de données à la volée et getDeploymentManager() vous donne le DeploymentManager avec lequel vous pouvez déployer, annuler le déploiement, démarrer, arrêter des applications et d'autres déploiements.

Les bibliothèques dont vous aurez besoin de faire qui se trouvent dans

  • JBOSS_HOME/client
  • JBOSS_HOME/lib
  • JBOSS_HOME/common/lib

J'ai lu plusieurs les heures où inclure le jbossall-client.jar dans le répertoire client devrait suffire mais ce n'est pas vrai. Pour autant que je sache, vous avez besoin des bibliothèques des trois répertoires (impossible de le faire sans les référencer au moins). Je ne l'ai pas compris que des pots dont vous avez besoin si ...

IMPORTANT: Le ProfileService dans Jboss 5 Community Edition a quelques bugs mais qui a été réparé dans JBoss 6. Je aurait soit une version plus récente suggère d'utiliser JBoss version ou l'édition Enterprise.

Questions connexes