diff -r e58f569a9966 j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeploymentManager.java --- a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeploymentManager.java Mon Jan 17 14:28:18 2011 +1300 +++ b/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/JBDeploymentManager.java Mon Jan 17 13:41:58 2011 +0100 @@ -173,11 +173,11 @@ Properties env = new Properties(); // Sets the jboss naming environment - String jnpPort = JBPluginUtils.getJnpPort(ip.getProperty(JBPluginProperties.PROPERTY_SERVER_DIR)); - jnpPort = ( jnpPort != null && jnpPort.trim().length() > 0 ) ? jnpPort.trim() : "1099"; + String jnpPort = Integer.toString( + JBPluginUtils.getJnpPortNumber(ip.getProperty(JBPluginProperties.PROPERTY_SERVER_DIR))); env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory"); - env.put(Context.PROVIDER_URL, "jnp://localhost"+ ( jnpPort.length() > 0 ? (":" + jnpPort) : "") ); + env.put(Context.PROVIDER_URL, "jnp://localhost"+ ":" + jnpPort); env.put(Context.OBJECT_FACTORIES, "org.jboss.naming"); env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces" ); env.put("jnp.disableDiscovery", Boolean.TRUE); diff -r e58f569a9966 j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStopRunnable.java --- a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStopRunnable.java Mon Jan 17 14:28:18 2011 +1300 +++ b/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/JBStopRunnable.java Mon Jan 17 13:41:58 2011 +0100 @@ -56,6 +56,7 @@ import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties; import org.netbeans.modules.j2ee.jboss4.JBDeploymentManager; import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginProperties; +import org.netbeans.modules.j2ee.jboss4.ide.ui.JBPluginUtils; import org.netbeans.modules.j2ee.jboss4.util.JBProperties; import org.openide.execution.NbProcessDescriptor; import org.openide.filesystems.FileObject; @@ -124,8 +125,19 @@ } JBProperties properties = dm.getProperties(); - StringBuilder credentialsParams = new StringBuilder(32); - credentialsParams.append(" -u ").append(properties.getUsername()).append(" -p ").append(properties.getPassword()); // NOI18N + StringBuilder additionalParams = new StringBuilder(32); + int jnpPort = JBPluginUtils.getJnpPortNumber(ip.getProperty(JBPluginProperties.PROPERTY_SERVER_DIR)); + if (dm.getProperties().getServerVersion().compareTo(JBPluginUtils.JBOSS_6_0_0) < 0) { + additionalParams.append(" -s jnp://localhost:").append(jnpPort); // NOI18N + } else { + // FIXME changed for JBoss 6 + // see http://community.jboss.org/message/546904 + // and http://community.jboss.org/wiki/StartStopJBoss + } + + additionalParams.append(" -u ").append(properties.getUsername()); // NOI18N + additionalParams.append(" -p ").append(properties.getPassword()); // NOI18N + // Currently there is a problem stopping JBoss when Profiler agent is loaded. // As a workaround for now, --halt parameter has to be used for stopping the server. // NbProcessDescriptor pd = (startServer.getMode() == JBStartServer.MODE.PROFILE ? @@ -134,7 +146,8 @@ /* 2008-09-10 The usage of --halt doesn't solve the problem on Windows; it even creates another problem of NB Profiler not being notified about the fact that the server was stopped */ - NbProcessDescriptor pd = new NbProcessDescriptor(serverStopFileName, "--shutdown " + credentialsParams); // NOI18N + NbProcessDescriptor pd = new NbProcessDescriptor( + serverStopFileName, "--shutdown " + additionalParams); // NOI18N Process stoppingProcess = null; try { diff -r e58f569a9966 j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBPluginUtils.java --- a/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBPluginUtils.java Mon Jan 17 14:28:18 2011 +1300 +++ b/j2ee.jboss4/src/org/netbeans/modules/j2ee/jboss4/ide/ui/JBPluginUtils.java Mon Jan 17 13:41:58 2011 +0100 @@ -100,7 +100,7 @@ public static final String CLIENT = "client" + File.separator; - public static final String COMMON = "common" + File.separator; + public static final String COMMON = "common" + File.separator; // For JBoss 5.0 under JBOSS_ROOT_DIR/lib @@ -180,19 +180,19 @@ private static List domainRequirements6x; private static synchronized List getDomainRequirements6x() { - if (domainRequirements5x == null) { - domainRequirements5x = new ArrayList(11); - Collections.addAll(domainRequirements5x, + if (domainRequirements6x == null) { + domainRequirements6x = new ArrayList(11); + Collections.addAll(domainRequirements6x, "conf", // NOI18N "deploy", // NOI18N "deployers", // NOI18N "lib", // NOI18N "conf/jboss-service.xml", // NOI18N "conf/bootstrap.xml", // NOI18N - "deploy/hdscanner-jboss-beans.xml" // NOI18N + "deploy/hdscanner-jboss-beans.xml" // NOI18N ); } - return domainRequirements5x; + return domainRequirements6x; } //--------------- checking for possible server directory ------------- @@ -498,8 +498,22 @@ return defaultPort; } + public static int getJnpPortNumber(String domainDir) { + String jnpPort = getJnpPort(domainDir); + if(jnpPort != null) { + jnpPort = jnpPort.trim(); + if (jnpPort.length() > 0) { + try { + return Integer.parseInt(jnpPort); + } catch(NumberFormatException e) { + // pass through to default + } + } + } + return 1099; + } - public static String getJnpPort(String domainDir){ + public static String getJnpPort(String domainDir) { String serviceXml = domainDir+File.separator+"conf"+File.separator+"jboss-service.xml"; //NOI18N File xmlFile = new File(serviceXml);