[jboss-cvs] JBossAS SVN: r97479 - in trunk: component-matrix and 24 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Dec 4 19:21:48 EST 2009
Author: ALRubinger
Date: 2009-12-04 19:21:47 -0500 (Fri, 04 Dec 2009)
New Revision: 97479
Modified:
trunk/build/build.xml
trunk/build/pom.xml
trunk/component-matrix/pom.xml
trunk/console/src/main/java/org/jboss/console/manager/DeploymentFileRepository.java
trunk/main/src/assembly/run.xml
trunk/main/src/main/java/org/jboss/Main.java
trunk/profileservice/src/main/java/org/jboss/profileservice/domain/ProfileServiceDomainBootstrap.java
trunk/server/src/etc/conf/all/bootstrap/profile.xml
trunk/server/src/etc/conf/all/xmdesc/NamingProviderURLWriter-xmbean.xml
trunk/server/src/main/java/org/jboss/Shutdown.java
trunk/server/src/main/java/org/jboss/config/ServerConfigUtil.java
trunk/server/src/main/java/org/jboss/deployment/JBossEjbParsingDeployer.java
trunk/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java
trunk/server/src/main/java/org/jboss/web/WebService.java
trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java
trunk/system-jmx/src/main/java/org/jboss/system/deployers/SARDeployer.java
trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImpl.java
trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImplMBean.java
trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigLocator.java
trunk/system-jmx/src/main/java/org/jboss/system/server/ServerImplMBean.java
trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernel.java
trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernelMBean.java
trunk/system/src/main/java/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/clustered/local/JAXBRepositoryContentMetadataPersister.java
trunk/system/src/main/java/org/jboss/system/tools/DeploymentScanner.java
trunk/testsuite/build.xml
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java
trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java
trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java
trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/trapd/TrapdService.java
trunk/varia/src/main/java/org/jboss/services/deployment/LibraryManager.java
Log:
[JBAS-7505] Update AS trunk to use new org.jboss.bootstrap components
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/build/build.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -2057,7 +2057,10 @@
<copy todir="${install.lib}" filtering="no">
<fileset refid="javassist:javassist:jar"/>
<fileset refid="org.jboss.aop:jboss-aop:jar"/>
- <fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api-mc:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api-as:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi-mc:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi-as:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-base:jar"/>
Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/build/pom.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -332,6 +332,18 @@
</dependency>
<dependency>
<groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api-as</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api-mc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
<artifactId>jboss-bootstrap-spi</artifactId>
</dependency>
<dependency>
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/component-matrix/pom.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -63,12 +63,15 @@
<version.org.jboss.aspects.remoting>1.0.1.GA</version.org.jboss.aspects.remoting>
<version.org.jboss.aspects.security>1.0.1</version.org.jboss.aspects.security>
<version.org.jboss.aspects.transaction>1.0.0.GA</version.org.jboss.aspects.transaction>
- <version.org.jboss.bootstrap.impl.as>2.0.0-alpha-2</version.org.jboss.bootstrap.impl.as>
- <version.org.jboss.bootstrap.impl.base>2.0.0-alpha-2</version.org.jboss.bootstrap.impl.base>
- <version.org.jboss.bootstrap.impl.mc>2.0.0-alpha-1</version.org.jboss.bootstrap.impl.mc>
- <version.org.jboss.bootstrap.spi>2.0.0-alpha-2</version.org.jboss.bootstrap.spi>
- <version.org.jboss.bootstrap.spi.as>2.0.0-alpha-2</version.org.jboss.bootstrap.spi.as>
- <version.org.jboss.bootstrap.spi.mc>2.0.0-alpha-1</version.org.jboss.bootstrap.spi.mc>
+ <version.org.jboss.bootstrap.api>2.0.0-alpha-2</version.org.jboss.bootstrap.api>
+ <version.org.jboss.bootstrap.api.as>2.0.0-alpha-2</version.org.jboss.bootstrap.api.as>
+ <version.org.jboss.bootstrap.api.mc>2.0.0-alpha-1</version.org.jboss.bootstrap.api.mc>
+ <version.org.jboss.bootstrap.impl.as>2.0.0-alpha-4</version.org.jboss.bootstrap.impl.as>
+ <version.org.jboss.bootstrap.impl.base>2.0.0-alpha-4</version.org.jboss.bootstrap.impl.base>
+ <version.org.jboss.bootstrap.impl.mc>2.0.0-alpha-3</version.org.jboss.bootstrap.impl.mc>
+ <version.org.jboss.bootstrap.spi>2.0.0-alpha-3</version.org.jboss.bootstrap.spi>
+ <version.org.jboss.bootstrap.spi.as>2.0.0-alpha-4</version.org.jboss.bootstrap.spi.as>
+ <version.org.jboss.bootstrap.spi.mc>2.0.0-alpha-2</version.org.jboss.bootstrap.spi.mc>
<version.org.jboss.cache.core>3.2.1.GA</version.org.jboss.cache.core>
<version.org.jboss.cache.pojo>3.0.0.GA</version.org.jboss.cache.pojo>
<version.org.jboss.cl>2.0.8.GA</version.org.jboss.cl>
@@ -1913,6 +1916,24 @@
<dependency>
<groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api</artifactId>
+ <version>${version.org.jboss.bootstrap.api}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api-as</artifactId>
+ <version>${version.org.jboss.bootstrap.api.as}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap-api-mc</artifactId>
+ <version>${version.org.jboss.bootstrap.api.mc}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
<artifactId>jboss-bootstrap-impl-as</artifactId>
<version>${version.org.jboss.bootstrap.impl.as}</version>
</dependency>
Modified: trunk/console/src/main/java/org/jboss/console/manager/DeploymentFileRepository.java
===================================================================
--- trunk/console/src/main/java/org/jboss/console/manager/DeploymentFileRepository.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/console/src/main/java/org/jboss/console/manager/DeploymentFileRepository.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -29,7 +29,7 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.system.server.ServerConfigLocator;
Modified: trunk/main/src/assembly/run.xml
===================================================================
--- trunk/main/src/assembly/run.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/main/src/assembly/run.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -19,39 +19,27 @@
<unpack>true</unpack>
<unpackOptions>
<includes>
- <include>org/jboss/bootstrap/spi/**</include>
+ <include>org/jboss/bootstrap/api/**</include>
</includes>
</unpackOptions>
<includes>
- <include>org.jboss.bootstrap:jboss-bootstrap-spi</include>
+ <include>org.jboss.bootstrap:jboss-bootstrap-api</include>
</includes>
</dependencySet>
<dependencySet>
<unpack>true</unpack>
<unpackOptions>
<includes>
- <include>org/jboss/bootstrap/spi/as/config/JBossASServerConfig.class</include>
- <include>org/jboss/bootstrap/spi/as/config/JBossASConfigurationInitializer.class</include>
+ <include>org/jboss/bootstrap/api/**</include>
</includes>
</unpackOptions>
<includes>
- <include>org.jboss.bootstrap:jboss-bootstrap-spi-as</include>
+ <include>org.jboss.bootstrap:jboss-bootstrap-api-as</include>
</includes>
</dependencySet>
<dependencySet>
<unpack>true</unpack>
- <unpackOptions>
- <includes>
- <include>org/jboss/bootstrap/spi/mc/config/MCBasedServerConfig.class</include>
- </includes>
- </unpackOptions>
<includes>
- <include>org.jboss.bootstrap:jboss-bootstrap-spi-mc</include>
- </includes>
- </dependencySet>
- <dependencySet>
- <unpack>true</unpack>
- <includes>
<include>gnu-getopt:getopt</include>
</includes>
</dependencySet>
Modified: trunk/main/src/main/java/org/jboss/Main.java
===================================================================
--- trunk/main/src/main/java/org/jboss/Main.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/main/src/main/java/org/jboss/Main.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -42,11 +42,11 @@
import java.util.Properties;
import java.util.Set;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.server.JBossASServer;
+import org.jboss.bootstrap.api.factory.ServerFactory;
+import org.jboss.bootstrap.api.lifecycle.LifecycleState;
import org.jboss.bootstrap.spi.as.config.JBossASConfigurationInitializer;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.bootstrap.spi.factory.ServerFactory;
-import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
-import org.jboss.bootstrap.spi.server.Server;
/**
@@ -75,7 +75,7 @@
/** Extra classpath URLS to load the server with .*/
private List<URL> extraClasspath = new LinkedList<URL>();
-
+
/**
* The default list of boot libraries. Does not include
* the JAXP or JMX impl, users of this class should add the
@@ -101,7 +101,8 @@
// Bootstrap
"jboss-bootstrap-spi.jar", "jboss-bootstrap-spi-as.jar", "jboss-bootstrap-spi-mc.jar",
"jboss-bootstrap-impl-base.jar", "jboss-bootstrap-impl-as.jar",
- "jboss-bootstrap-impl-mc.jar",
+ "jboss-bootstrap-impl-mc.jar","jboss-bootstrap-api-as.jar","jboss-bootstrap-api-mc.jar",
+ "jboss-bootstrap-api.jar",
// Microcontainer
"javassist.jar", "jboss-reflect.jar", "jboss-mdr.jar", "jboss-dependency.jar", "jboss-kernel.jar",
"jboss-metatype.jar", "jboss-managed.jar",
@@ -117,18 +118,11 @@
* properties for defaults.
*/
private Map<String, String> props = new HashMap<String, String>();
-
+
/**
- * The booted server instance.
- *
- * We don't use JBossASServer directly here, because it has
- * a reference to MC and the Kernel. This would put the bootstrap
- * AS SPI upon the application classpath, with references to
- * classes on child ClassLoaders, leading to NCDFE. So just use
- * the minimal SPI set and load everything via reflection
- * using the URLCLs we create which reference the boot libraries.
+ * The booted server instance.
*/
- private Server<?, ?> server;
+ private JBossASServer server;
/**
* The FQN of the default server implementation class to create
@@ -145,6 +139,8 @@
*/
public Main()
{
+ super();
+
// Set default properties
final Properties sysProps = System.getProperties();
for (final Object propName : sysProps.keySet())
@@ -159,7 +155,7 @@
* Access the booted server.
* @return the Server instance.
*/
- public Server<?, ?> getServer()
+ public JBossASServer getServer()
{
return server;
}
@@ -173,7 +169,7 @@
*/
public void boot(final String[] args) throws Exception
{
- // TODO; remove this when JBAS-6744 is fixed
+ // TODO: remove this when JBAS-6744 is fixed
String useUnorderedSequence = System.getProperty("xb.builder.useUnorderedSequence");
if (useUnorderedSequence == null)
System.setProperty("xb.builder.useUnorderedSequence", "true");
@@ -181,6 +177,20 @@
// First process the command line to pickup custom props/settings
processCommandLine(args);
+ // Initialize the JDK logmanager
+ String name = System.getProperty("java.util.logging.manager");
+ if (name == null)
+ {
+ System.setProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager");
+ String pluginClass = System.getProperty("org.jboss.logging.Logger.pluginClass");
+ if (pluginClass == null)
+ {
+ System.setProperty("org.jboss.logging.Logger.pluginClass", "org.jboss.logging.logmanager.LoggerPluginImpl");
+ // disable log4j configuration, in case any early modules trigger it
+ System.setProperty("log4j.defaultInitOverride", "true");
+ }
+ }
+
// Get JBOSS_HOME appropriately
final String homeUrl = props.get(JBossASServerConfig.PROP_KEY_JBOSSAS_HOME_URL);
final String homeDir = props.get(JBossASServerConfig.PROP_KEY_JBOSSAS_HOME_DIR);
@@ -255,19 +265,6 @@
SecurityActions.setSystemProperty(sysPropBootLogDir, manualLogDir);
}
- // Initialize the JDK logmanager
- String name = System.getProperty("java.util.logging.manager");
- if (name == null) {
- System.setProperty("java.util.logging.manager",
- "org.jboss.logmanager.LogManager");
- String pluginClass = System.getProperty("org.jboss.logging.Logger.pluginClass");
- if (pluginClass == null) {
- System.setProperty("org.jboss.logging.Logger.pluginClass", "org.jboss.logging.logmanager.LoggerPluginImpl");
- // disable log4j configuration, in case any early modules trigger it
- System.setProperty("log4j.defaultInitOverride", "true");
- }
- }
-
// Get TCCL
final ClassLoader tccl = SecurityActions.getThreadContextClassLoader();
@@ -286,14 +283,14 @@
if (dir.exists())
{
// Add the local file patch directory
- urls.add(dir.toURI().toURL());
+ urls.add(dir.toURL());
// Add the contents of the directory too
File[] jars = dir.listFiles(new JarFilter());
for (int j = 0; jars != null && j < jars.length; j++)
{
- urls.add(jars[j].getCanonicalFile().toURI().toURL());
+ urls.add(jars[j].getCanonicalFile().toURL());
}
}
}
@@ -304,29 +301,29 @@
}
// Add any extra libraries
- for (URL bootLibrary : bootLibraries)
+ for (int i = 0; i < bootLibraries.size(); i++)
{
- urls.add(bootLibrary);
+ urls.add(bootLibraries.get(i));
}
-// // Add the jars from the endorsed dir
-// loader.addEndorsedJars();
+ // // Add the jars from the endorsed dir
+ // loader.addEndorsedJars();
-// // jmx UnifiedLoaderRepository needs a concurrent class...
-// loader.addLibrary(concurrentLib);
+ // jmx UnifiedLoaderRepository needs a concurrent class...
+ // urls.add(concurrentLib);
// Add any extra libraries after the boot libs
- for (URL extraLibrary : extraLibraries)
+ for (int i = 0; i < extraLibraries.size(); i++)
{
- urls.add(extraLibrary);
+ urls.add(extraLibraries.get(i));
}
// Add any extra classapth URLs
- for (URL anExtraClasspath : extraClasspath)
+ for (int i = 0; i < extraClasspath.size(); i++)
{
- urls.add(anExtraClasspath);
+ urls.add(extraClasspath.get(i));
}
-
+
// Add all boot libs required from $JBOSS_HOME/lib
final File bootLibDir = new File(libUrl.toURI());
if (!bootLibDir.exists())
@@ -347,13 +344,14 @@
final URL bootLibUrl = bootLibFile.toURI().toURL();
urls.add(bootLibUrl);
}
-
+
// Make a ClassLoader to be used in loading the server
- final URL[] urlArray = urls.toArray(new URL[urls.size()]);
+ final URL[] urlArray = urls.toArray(new URL[]
+ {});
final ClassLoader loadingCl = new URLClassLoader(urlArray, tccl);
// Load the server
- server = ServerFactory.createServer(DEFAULT_AS_SERVER_IMPL_CLASS_NAME, loadingCl);
+ server = JBossASServer.class.cast(ServerFactory.createServer(DEFAULT_AS_SERVER_IMPL_CLASS_NAME, loadingCl));
// Get out the default configuration
// This cast to object first is to workaround the JDK Bug: http://bugs.sun.com/view_bug.do?bug_id=6548436
@@ -386,8 +384,9 @@
/**
* Shutdown the booted Server instance.
+ *
*/
- public void shutdown() throws Exception
+ public void shutdown() throws Throwable
{
server.shutdown();
}
@@ -522,8 +521,7 @@
System.setProperty(name, value);
// Ensure setting the old bind.address property also sets the new
// jgroups.bind_addr property, otherwise jgroups may ignore it
- if ("bind.address".equals(name)
- && System.getProperty("jgroups.bind_addr") == null)
+ if ("bind.address".equals(name))
{
System.setProperty("jgroups.bind_addr", value);
}
@@ -628,8 +626,7 @@
String rmiHost = System.getProperty("java.rmi.server.hostname");
if (rmiHost == null)
{
- rmiHost = ServerConfigUtil.fixRemoteAddress(arg);
- System.setProperty("java.rmi.server.hostname", rmiHost);
+ System.setProperty("java.rmi.server.hostname", arg);
}
break;
@@ -698,22 +695,23 @@
*/
public static void main(final String[] args) throws Exception
{
- Runnable worker = new Runnable() {
- public void run()
+ Runnable worker = new Runnable()
+ {
+ public void run()
+ {
+ try
{
- try
- {
- Main main = new Main();
- main.boot(args);
- }
- catch (Exception e)
- {
- System.err.println("Failed to boot JBoss:");
- e.printStackTrace();
- }
+ Main main = new Main();
+ main.boot(args);
}
+ catch (Exception e)
+ {
+ System.err.println("Failed to boot JBoss:");
+ e.printStackTrace();
+ }
+ }
- };
+ };
ThreadGroup threads = new ThreadGroup("jboss");
new Thread(threads, worker, "main").start();
@@ -738,7 +736,7 @@
return name.endsWith(".jar");
}
}
-
+
/**
* ServerConfigUtil
*
@@ -753,44 +751,7 @@
@Deprecated
private static class ServerConfigUtil
{
-
- private ServerConfigUtil()
- {
- }
-
/**
- * Retrieve the default bind address for the server
- *
- * @return the default bind adress
- */
- public static String getDefaultBindAddress()
- {
- return System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_BIND_ADDRESS);
- }
-
- /**
- * Fix the remote inet address.
- *
- * If we pass the address to the client we don't want to
- * tell it to connect to 0.0.0.0, use our host name instead
- * @param address the passed address
- * @return the fixed address
- */
- public static InetAddress fixRemoteAddress(InetAddress address)
- {
- try
- {
- if (address == null
- || InetAddress.getByName(JBossASConfigurationInitializer.VALUE_BIND_ADDRESS_ANY).equals(address))
- return InetAddress.getLocalHost();
- }
- catch (UnknownHostException ignored)
- {
- }
- return address;
- }
-
- /**
* Fix the remote address.
*
* If we pass the address to the client we don't want to
@@ -810,17 +771,6 @@
}
return address;
}
-
- /**
- * Get the default partition name
- *
- * @return the default partition name
- */
- public static String getDefaultPartitionName()
- {
- return System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_PARTITION_NAME,
- JBossASConfigurationInitializer.VALUE_PARTITION_NAME_DEFAULT);
- }
/**
* Checks if the given system property is set; if so ensures it's value has
@@ -852,7 +802,7 @@
}
}
-
+
/**
* ShutdownHook
*
@@ -865,7 +815,7 @@
/**
* Underlying server instance
*/
- private Server<?, ?> server;
+ private JBossASServer server;
/**
* ClassLoader used to start/init the server
@@ -879,7 +829,7 @@
* @param serverCl The ClassLoader to be optionally closed upon shutdown
* @throws IllegalArgumentException If any argument is not supplied (null)
*/
- ShutdownHook(final Server<?, ?> server, final ClassLoader serverCl) throws IllegalArgumentException
+ ShutdownHook(final JBossASServer server, final ClassLoader serverCl) throws IllegalArgumentException
{
// Precondition checks
if (server == null)
@@ -999,4 +949,5 @@
}
}
}
+
}
Modified: trunk/profileservice/src/main/java/org/jboss/profileservice/domain/ProfileServiceDomainBootstrap.java
===================================================================
--- trunk/profileservice/src/main/java/org/jboss/profileservice/domain/ProfileServiceDomainBootstrap.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/profileservice/src/main/java/org/jboss/profileservice/domain/ProfileServiceDomainBootstrap.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -35,10 +35,9 @@
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
import org.jboss.bootstrap.spi.as.JBossASBootstrap;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
-import org.jboss.bootstrap.spi.server.Server;
+import org.jboss.bootstrap.spi.as.server.JBossASBasedServerProvider;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.client.spi.IncompleteDeploymentException;
@@ -87,7 +86,6 @@
import org.jboss.profileservice.spi.types.ControllerStateMetaType;
import org.jboss.system.server.profile.repository.metadata.ProfilesMetaData;
import org.jboss.system.server.profileservice.BootstrapDeployment;
-import org.jboss.system.server.profileservice.ProfileServiceBootstrap;
import org.jboss.system.server.profileservice.repository.AbstractBootstrapProfileFactory;
/**
@@ -97,7 +95,10 @@
* @author Scott.Stark at jboss.org
* @version $Revision:$
*/
-public class ProfileServiceDomainBootstrap implements JBossASBootstrap, KernelRegistryPlugin
+public class ProfileServiceDomainBootstrap<K extends JBossASBasedServerProvider<K, T>, T extends JBossASBasedServerConfig<T>>
+ implements
+ JBossASBootstrap<K, T>,
+ KernelRegistryPlugin
{
/** The log */
private static final Logger log = Logger.getLogger(ProfileServiceDomainBootstrap.class);
@@ -226,7 +227,7 @@
/**
*
*/
- public void start(JBossASServer server)
+ public void start(K server)
throws Exception
{
shutdown.set(false);
@@ -295,14 +296,14 @@
}
}
- public void prepareShutdown(JBossASServer server)
+ public void prepareShutdown(K server)
{
shutdown.set(true);
if (mainDeployer != null)
mainDeployer.prepareShutdown();
}
- public void shutdown(JBossASServer server)
+ public void shutdown(K server)
{
// Disable modification checks on all mutable profiles
for(ProfileKey key : profileService.getActiveProfileKeys())
@@ -405,167 +406,163 @@
* @param server - the Bootstrap.start Server instance. This must be an
* MCServer in order for there to be KernelDeployments available.
*/
- protected void initBootstrapMDs(Server server)
+ protected void initBootstrapMDs(K server)
{
- if(mof == null || mgtDeploymentCreator == null)
+ if (mof == null || mgtDeploymentCreator == null)
{
log.warn("Skipping ManagedDeployment creation due to missing mof, mgtDeploymentCreator");
return;
}
Map<String, KernelDeployment> serverDeployments = null;
- if(server instanceof JBossASServer)
+
+ // Build ManagedDeployments for the KernelDeployments
+ Kernel kernel = server.getKernel();
+ serverDeployments = server.getDeployments();
+ ManagedDeployment firstDeployment = null;
+ for (KernelDeployment kd : serverDeployments.values())
{
- // Build ManagedDeployments for the KernelDeployments
- JBossASServer mcserver = JBossASServer.class.cast(server);
- Kernel kernel = mcserver.getKernel();
- serverDeployments = mcserver.getDeployments();
- ManagedDeployment firstDeployment = null;
- for(KernelDeployment kd : serverDeployments.values())
+ BootstrapDeployment deploymentUnit = new BootstrapDeployment(kd);
+ KernelDeploymentVisitor visitor = new KernelDeploymentVisitor();
+ try
{
- BootstrapDeployment deploymentUnit = new BootstrapDeployment(kd);
- KernelDeploymentVisitor visitor = new KernelDeploymentVisitor();
- try
- {
- visitor.deploy(deploymentUnit, kd);
- }
- catch(DeploymentException e)
- {
- log.debug("Failed to build ManagedDeployment for: "+kd, e);
- continue;
- }
+ visitor.deploy(deploymentUnit, kd);
+ }
+ catch (DeploymentException e)
+ {
+ log.debug("Failed to build ManagedDeployment for: " + kd, e);
+ continue;
+ }
- /* Create minimal deployment ManagedObject. Don't use the ManagedObjectFactory
- * as this will create ManagedObjects for the beans via the beansFactory
- * property. We handle the beans below.
- */
- Set<ManagedProperty> kdProperties = new HashSet<ManagedProperty>();
- HashSet<ManagedOperation> ops = null;
- ManagedObject kdMO = new ManagedObjectImpl(kd.getName(), "",
- KernelDeployment.class.getName(),
- kdProperties, ops, (Serializable) kd);
- Map<String, ManagedObject> kdMOs = new HashMap<String, ManagedObject>();
- kdMOs.put(kd.getName(), kdMO);
+ /* Create minimal deployment ManagedObject. Don't use the ManagedObjectFactory
+ * as this will create ManagedObjects for the beans via the beansFactory
+ * property. We handle the beans below.
+ */
+ Set<ManagedProperty> kdProperties = new HashSet<ManagedProperty>();
+ HashSet<ManagedOperation> ops = null;
+ ManagedObject kdMO = new ManagedObjectImpl(kd.getName(), "", KernelDeployment.class.getName(), kdProperties,
+ ops, (Serializable) kd);
+ Map<String, ManagedObject> kdMOs = new HashMap<String, ManagedObject>();
+ kdMOs.put(kd.getName(), kdMO);
- // Traverse the deployment components
- for(DeploymentUnit compUnit : deploymentUnit.getComponents())
- {
- BeanMetaData bmd = compUnit.getAttachment(BeanMetaData.class);
- ManagedObject bmdMO = mof.initManagedObject(bmd, compUnit.getMetaData());
- if(bmdMO == null)
- continue;
+ // Traverse the deployment components
+ for (DeploymentUnit compUnit : deploymentUnit.getComponents())
+ {
+ BeanMetaData bmd = compUnit.getAttachment(BeanMetaData.class);
+ ManagedObject bmdMO = mof.initManagedObject(bmd, compUnit.getMetaData());
+ if (bmdMO == null)
+ continue;
- Map<String, Annotation> moAnns = bmdMO.getAnnotations();
- ManagementObject mo = (ManagementObject) moAnns.get(ManagementObject.class.getName());
- // Reset the name to the bean name rather than the attachment name
- if(bmdMO instanceof MutableManagedObject)
+ Map<String, Annotation> moAnns = bmdMO.getAnnotations();
+ ManagementObject mo = (ManagementObject) moAnns.get(ManagementObject.class.getName());
+ // Reset the name to the bean name rather than the attachment name
+ if (bmdMO instanceof MutableManagedObject)
+ {
+ MutableManagedObject mmo = (MutableManagedObject) bmdMO;
+ // Reset the name to the bean name if its the attachment name
+ if (mmo.getName().equals(mmo.getAttachmentName()))
+ mmo.setName(bmd.getName());
+ mmo.setParent(kdMO);
+ // Add an alias property
+ Set<Object> bmdAliases = bmd.getAliases();
+ Map<String, ManagedProperty> oldProps = mmo.getProperties();
+ Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
+ if (bmdAliases != null && bmdAliases.size() > 0)
{
- MutableManagedObject mmo = (MutableManagedObject) bmdMO;
- // Reset the name to the bean name if its the attachment name
- if(mmo.getName().equals(mmo.getAttachmentName()))
- mmo.setName(bmd.getName());
- mmo.setParent(kdMO);
- // Add an alias property
- Set<Object> bmdAliases = bmd.getAliases();
- Map<String, ManagedProperty> oldProps = mmo.getProperties();
- Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
- if(bmdAliases != null && bmdAliases.size() > 0)
+ ArrayMetaType aliasType = new ArrayMetaType(SimpleMetaType.STRING, false);
+ DefaultFieldsImpl fields = getFields("alias", aliasType);
+ fields.setDescription("Aliases of the bean");
+ String[] aliases = new String[bmdAliases.size()];
+ Iterator<?> i = bmdAliases.iterator();
+ for (int n = 0; i.hasNext(); n++)
{
- ArrayMetaType aliasType = new ArrayMetaType(SimpleMetaType.STRING, false);
- DefaultFieldsImpl fields = getFields("alias", aliasType);
- fields.setDescription("Aliases of the bean");
- String[] aliases = new String[bmdAliases.size()];
- Iterator<?> i = bmdAliases.iterator();
- for(int n = 0; i.hasNext(); n++)
- {
- aliases[n] = i.next().toString();
- }
- ArrayValueSupport value = new ArrayValueSupport(aliasType, aliases);
- fields.setValue(value);
- ManagedPropertyImpl aliasesMP = new ManagedPropertyImpl(bmdMO, fields);
- newProps.put("alias", aliasesMP);
+ aliases[n] = i.next().toString();
}
- // Add a state property
- DefaultFieldsImpl stateFields = getFields("state", ControllerStateMetaType.TYPE);
- stateFields.setViewUse(new ViewUse[]{ViewUse.STATISTIC});
- EnumValue stateValue = getState(bmd.getName(), kernel);
- stateFields.setValue(stateValue);
- stateFields.setDescription("The bean controller state");
- ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
- newProps.put("state", stateMP);
- // Update the properties
- mmo.setProperties(newProps);
+ ArrayValueSupport value = new ArrayValueSupport(aliasType, aliases);
+ fields.setValue(value);
+ ManagedPropertyImpl aliasesMP = new ManagedPropertyImpl(bmdMO, fields);
+ newProps.put("alias", aliasesMP);
}
- log.debug("Created ManagedObject: "+bmdMO+" for bean: "+bmd.getName());
- kdMOs.put(bmd.getName(), bmdMO);
-
+ // Add a state property
+ DefaultFieldsImpl stateFields = getFields("state", ControllerStateMetaType.TYPE);
+ stateFields.setViewUse(new ViewUse[]
+ {ViewUse.STATISTIC});
+ EnumValue stateValue = getState(bmd.getName(), kernel);
+ stateFields.setValue(stateValue);
+ stateFields.setDescription("The bean controller state");
+ ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
+ newProps.put("state", stateMP);
+ // Update the properties
+ mmo.setProperties(newProps);
}
- // Create the ManagedDeployment
- ManagedDeployment md = mgtDeploymentCreator.build(deploymentUnit, kdMOs, null);
- if(firstDeployment == null)
- firstDeployment = md;
- // Create the ManagedComponents
- for(ManagedObject bmdMO : kdMOs.values())
- {
- if(bmdMO.getAttachmentName().equals(KernelDeployment.class.getName()))
- continue;
+ log.debug("Created ManagedObject: " + bmdMO + " for bean: " + bmd.getName());
+ kdMOs.put(bmd.getName(), bmdMO);
- ComponentType type = KnownComponentTypes.MCBean.Any.getType();
- Map<String, Annotation> moAnns = bmdMO.getAnnotations();
- ManagementComponent mc = (ManagementComponent) moAnns.get(ManagementComponent.class.getName());
- if(mc != null)
- {
- type = new ComponentType(mc.type(), mc.subtype());
- }
- ManagedComponentImpl comp = new ManagedComponentImpl(type, md, bmdMO);
- md.addComponent(bmdMO.getName(), comp);
- log.debug("Created ManagedComponent("+comp.getName()+") of type: "
- +type
- +" for MO: "+bmdMO.getName()
- +", componentName: "+bmdMO.getComponentName());
- }
+ }
+ // Create the ManagedDeployment
+ ManagedDeployment md = mgtDeploymentCreator.build(deploymentUnit, kdMOs, null);
+ if (firstDeployment == null)
+ firstDeployment = md;
+ // Create the ManagedComponents
+ for (ManagedObject bmdMO : kdMOs.values())
+ {
+ if (bmdMO.getAttachmentName().equals(KernelDeployment.class.getName()))
+ continue;
- if(md != null)
- bootstrapMDs.put(kd.getName(), md);
+ ComponentType type = KnownComponentTypes.MCBean.Any.getType();
+ Map<String, Annotation> moAnns = bmdMO.getAnnotations();
+ ManagementComponent mc = (ManagementComponent) moAnns.get(ManagementComponent.class.getName());
+ if (mc != null)
+ {
+ type = new ComponentType(mc.type(), mc.subtype());
+ }
+ ManagedComponentImpl comp = new ManagedComponentImpl(type, md, bmdMO);
+ md.addComponent(bmdMO.getName(), comp);
+ log.debug("Created ManagedComponent(" + comp.getName() + ") of type: " + type + " for MO: "
+ + bmdMO.getName() + ", componentName: " + bmdMO.getComponentName());
}
- // Add other Server managed objects
- if(firstDeployment != null)
+ if (md != null)
+ bootstrapMDs.put(kd.getName(), md);
+ }
+
+ // Add other Server managed objects
+ if (firstDeployment != null)
+ {
+ ComponentType type = new ComponentType("MCBean", "MCServer");
+ ManagedObject serverMO = mof.initManagedObject(server, null);
+ if (serverMO.getOperations() != null && serverMO.getOperations().size() == 0)
{
- ComponentType type = new ComponentType("MCBean", "MCServer");
- ManagedObject serverMO = mof.initManagedObject(mcserver, null);
- if (serverMO.getOperations() != null && serverMO.getOperations().size() == 0)
+ ManagedOperationImpl shutdown = new ManagedOperationImpl("Shutdown the server", "shutdown");
+ if (serverMO instanceof MutableManagedObject)
{
- ManagedOperationImpl shutdown = new ManagedOperationImpl("Shutdown the server", "shutdown");
- if(serverMO instanceof MutableManagedObject)
- {
- HashSet<ManagedOperation> ops = new HashSet<ManagedOperation>();
- ops.add(shutdown);
- MutableManagedObject mmo = MutableManagedObject.class.cast(serverMO);
- mmo.setOperations(ops);
- }
+ HashSet<ManagedOperation> ops = new HashSet<ManagedOperation>();
+ ops.add(shutdown);
+ MutableManagedObject mmo = MutableManagedObject.class.cast(serverMO);
+ mmo.setOperations(ops);
}
- ManagedComponentImpl serverComp = new ManagedComponentImpl(type, firstDeployment, serverMO);
- firstDeployment.addComponent("MCServer", serverComp);
- try
- {
- BeanInfo mcserverInfo = configurator.getBeanInfo(mcserver.getClass());
- BeanKernelRegistryEntry entry = new BeanKernelRegistryEntry(mcserver, mcserverInfo);
- bootstrapEntries.put(serverComp.getComponentName(), entry);
- }
- catch(Throwable t)
- {
- log.error("Failed to create BeanInfo for: "+serverComp, t);
- }
- // ServerConfig
- type = new ComponentType("MCBean", "ServerConfig");
- JBossASServerConfig config = mcserver.getConfiguration();
- ManagedObject mo = mof.initManagedObject(config, null);
- ManagedComponentImpl configComp = new ManagedComponentImpl(type, firstDeployment, mo);
- firstDeployment.addComponent("ServerConfig", configComp);
- log.debug("Created ManagedComponent of type: "+type+" for ServerConfig");
}
+ ManagedComponentImpl serverComp = new ManagedComponentImpl(type, firstDeployment, serverMO);
+ firstDeployment.addComponent("MCServer", serverComp);
+ try
+ {
+ BeanInfo mcserverInfo = configurator.getBeanInfo(server.getClass());
+ BeanKernelRegistryEntry entry = new BeanKernelRegistryEntry(server, mcserverInfo);
+ bootstrapEntries.put(serverComp.getComponentName(), entry);
+ }
+ catch (Throwable t)
+ {
+ log.error("Failed to create BeanInfo for: " + serverComp, t);
+ }
+ // ServerConfig
+ type = new ComponentType("MCBean", "ServerConfig");
+ T config = server.getConfiguration();
+ ManagedObject mo = mof.initManagedObject(config, null);
+ ManagedComponentImpl configComp = new ManagedComponentImpl(type, firstDeployment, mo);
+ firstDeployment.addComponent("ServerConfig", configComp);
+ log.debug("Created ManagedComponent of type: " + type + " for ServerConfig");
}
+
}
/**
Modified: trunk/server/src/etc/conf/all/bootstrap/profile.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/profile.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/etc/conf/all/bootstrap/profile.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -151,7 +151,7 @@
<!-- Here we use the constructor version that takes the Server impl and
uses it to find the data dir. You could alternatively use a version
that takes a URI or a File. -->
- <parameter class="org.jboss.bootstrap.spi.as.server.JBossASServer"><inject bean="JBossServer"/></parameter>
+ <parameter class="org.jboss.bootstrap.api.as.server.JBossASServer"><inject bean="JBossServer"/></parameter>
</constructor>
</bean>
Modified: trunk/server/src/etc/conf/all/xmdesc/NamingProviderURLWriter-xmbean.xml
===================================================================
--- trunk/server/src/etc/conf/all/xmdesc/NamingProviderURLWriter-xmbean.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/etc/conf/all/xmdesc/NamingProviderURLWriter-xmbean.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -31,7 +31,7 @@
<attribute access="write-only" setMethod="setServer">
<description>Server object from which the OutputDirURL can be obtained if not directly configured</description>
<name>Server</name>
- <type>org.jboss.bootstrap.spi.as.server.JBossASServer</type>
+ <type>org.jboss.bootstrap.api.as.server.JBossASServer</type>
</attribute>
<attribute access="read-write" getMethod="getBootstrapURL" setMethod="setBootstrapURL">
Modified: trunk/server/src/main/java/org/jboss/Shutdown.java
===================================================================
--- trunk/server/src/main/java/org/jboss/Shutdown.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/Shutdown.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -21,28 +21,28 @@
*/
package org.jboss;
+import gnu.getopt.Getopt;
+import gnu.getopt.LongOpt;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.lang.reflect.UndeclaredThrowableException;
+import java.util.ArrayList;
import java.util.Hashtable;
-import java.util.ArrayList;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
+
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.naming.Context;
import javax.naming.InitialContext;
-
-import gnu.getopt.Getopt;
-import gnu.getopt.LongOpt;
-
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
+import org.jboss.bootstrap.api.as.server.JBossASServer;
import org.jboss.naming.HttpNamingContextFactory;
-import org.jboss.system.server.ServerImplMBean;
import org.jboss.security.SecurityAssociation;
import org.jboss.security.SimplePrincipal;
+import org.jboss.system.server.ServerImplMBean;
import org.jnp.interfaces.NamingContext;
/**
Modified: trunk/server/src/main/java/org/jboss/config/ServerConfigUtil.java
===================================================================
--- trunk/server/src/main/java/org/jboss/config/ServerConfigUtil.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/config/ServerConfigUtil.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -24,8 +24,8 @@
import java.net.InetAddress;
import java.net.UnknownHostException;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.bootstrap.spi.as.config.JBossASConfigurationInitializer;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
/**
* ServerConfigUtil
Modified: trunk/server/src/main/java/org/jboss/deployment/JBossEjbParsingDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/JBossEjbParsingDeployer.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/deployment/JBossEjbParsingDeployer.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -23,6 +23,7 @@
import java.net.URL;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
@@ -31,7 +32,6 @@
import org.jboss.metadata.ejb.spec.EjbJarMetaData;
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
/**
* An ObjectModelFactoryDeployer for translating jboss.xml descriptors into
Modified: trunk/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java
===================================================================
--- trunk/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -32,8 +32,8 @@
import java.net.URI;
import java.util.Enumeration;
+import org.jboss.bootstrap.api.as.server.JBossASServer;
import org.jboss.logging.Logger;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
/**
*
Modified: trunk/server/src/main/java/org/jboss/web/WebService.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/WebService.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/web/WebService.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -27,13 +27,14 @@
import java.util.Enumeration;
import java.util.Properties;
import java.util.concurrent.Executor;
-import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.config.ServerConfigUtil;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
+import org.jboss.config.ServerConfigUtil;
+import org.jboss.system.ServiceMBeanSupport;
+
/**
* The WebService implementation. It configures a WebServer instance to
* perform dynamic class and resource loading.
Modified: trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -37,6 +37,7 @@
import javax.naming.NamingException;
import org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
@@ -68,10 +69,9 @@
import org.jboss.security.ISecurityManagement;
import org.jboss.security.SecurityConstants;
import org.jboss.security.authorization.PolicyRegistration;
+import org.jboss.virtual.VFSUtils;
import org.jboss.web.WebApplication;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
-import org.jboss.virtual.VFSUtils;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
import org.omg.CORBA.ORB;
/**
@@ -169,7 +169,7 @@
*/
public static String shortWarUrlFromServerHome(String warUrl)
{
- String serverHomeUrl = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_HOME_URL);
+ String serverHomeUrl = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_HOME_URL);
if (warUrl == null || serverHomeUrl == null)
return warUrl;
Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -35,10 +35,12 @@
import org.jboss.beans.info.spi.BeanInfo;
import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.server.Server;
import org.jboss.bootstrap.spi.as.JBossASBootstrap;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
-import org.jboss.bootstrap.spi.server.Server;
+import org.jboss.bootstrap.spi.as.server.JBossASBasedServerProvider;
+import org.jboss.bootstrap.spi.as.server.JBossASServerProvider;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.client.spi.IncompleteDeploymentException;
@@ -95,7 +97,8 @@
* @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
* @version $Revision$
*/
-public class ProfileServiceBootstrap implements JBossASBootstrap, KernelRegistryPlugin
+public class ProfileServiceBootstrap<K extends JBossASBasedServerProvider<K, T>, T extends JBossASBasedServerConfig<T>>
+ implements JBossASBootstrap<K,T>, KernelRegistryPlugin
{
/** The log */
private static final Logger log = Logger.getLogger(ProfileServiceBootstrap.class);
@@ -223,7 +226,7 @@
/**
*
*/
- public void start(JBossASServer server)
+ public void start(K server)
throws Exception
{
shutdown.set(false);
@@ -290,7 +293,7 @@
}
}
- public void prepareShutdown(JBossASServer server)
+ public void prepareShutdown(K server)
{
shutdown.set(true);
// Disable modification checks on all mutable profiles
@@ -312,7 +315,7 @@
}
}
- public void shutdown(JBossASServer server)
+ public void shutdown(K server)
{
// Deactivate the root profile
try
@@ -406,167 +409,162 @@
* @param server - the Bootstrap.start Server instance. This must be an
* MCServer in order for there to be KernelDeployments available.
*/
- protected void initBootstrapMDs(Server server)
+ protected void initBootstrapMDs(K server)
{
- if(mof == null || mgtDeploymentCreator == null)
+ if (mof == null || mgtDeploymentCreator == null)
{
log.warn("Skipping ManagedDeployment creation due to missing mof, mgtDeploymentCreator");
return;
}
Map<String, KernelDeployment> serverDeployments = null;
- if(server instanceof JBossASServer)
+ // Build ManagedDeployments for the KernelDeployments
+ Kernel kernel = server.getKernel();
+ serverDeployments = server.getDeployments();
+ ManagedDeployment firstDeployment = null;
+ for (KernelDeployment kd : serverDeployments.values())
{
- // Build ManagedDeployments for the KernelDeployments
- JBossASServer mcserver = JBossASServer.class.cast(server);
- Kernel kernel = mcserver.getKernel();
- serverDeployments = mcserver.getDeployments();
- ManagedDeployment firstDeployment = null;
- for(KernelDeployment kd : serverDeployments.values())
+ BootstrapDeployment deploymentUnit = new BootstrapDeployment(kd);
+ KernelDeploymentVisitor visitor = new KernelDeploymentVisitor();
+ try
{
- BootstrapDeployment deploymentUnit = new BootstrapDeployment(kd);
- KernelDeploymentVisitor visitor = new KernelDeploymentVisitor();
- try
- {
- visitor.deploy(deploymentUnit, kd);
- }
- catch(DeploymentException e)
- {
- log.debug("Failed to build ManagedDeployment for: "+kd, e);
- continue;
- }
+ visitor.deploy(deploymentUnit, kd);
+ }
+ catch (DeploymentException e)
+ {
+ log.debug("Failed to build ManagedDeployment for: " + kd, e);
+ continue;
+ }
- /* Create minimal deployment ManagedObject. Don't use the ManagedObjectFactory
- * as this will create ManagedObjects for the beans via the beansFactory
- * property. We handle the beans below.
- */
- Set<ManagedProperty> kdProperties = new HashSet<ManagedProperty>();
- HashSet<ManagedOperation> ops = null;
- ManagedObject kdMO = new ManagedObjectImpl(kd.getName(), "",
- KernelDeployment.class.getName(),
- kdProperties, ops, (Serializable) kd);
- Map<String, ManagedObject> kdMOs = new HashMap<String, ManagedObject>();
- kdMOs.put(kd.getName(), kdMO);
+ /* Create minimal deployment ManagedObject. Don't use the ManagedObjectFactory
+ * as this will create ManagedObjects for the beans via the beansFactory
+ * property. We handle the beans below.
+ */
+ Set<ManagedProperty> kdProperties = new HashSet<ManagedProperty>();
+ HashSet<ManagedOperation> ops = null;
+ ManagedObject kdMO = new ManagedObjectImpl(kd.getName(), "", KernelDeployment.class.getName(), kdProperties,
+ ops, (Serializable) kd);
+ Map<String, ManagedObject> kdMOs = new HashMap<String, ManagedObject>();
+ kdMOs.put(kd.getName(), kdMO);
- // Traverse the deployment components
- for(DeploymentUnit compUnit : deploymentUnit.getComponents())
- {
- BeanMetaData bmd = compUnit.getAttachment(BeanMetaData.class);
- ManagedObject bmdMO = mof.initManagedObject(bmd, compUnit.getMetaData());
- if(bmdMO == null)
- continue;
+ // Traverse the deployment components
+ for (DeploymentUnit compUnit : deploymentUnit.getComponents())
+ {
+ BeanMetaData bmd = compUnit.getAttachment(BeanMetaData.class);
+ ManagedObject bmdMO = mof.initManagedObject(bmd, compUnit.getMetaData());
+ if (bmdMO == null)
+ continue;
- Map<String, Annotation> moAnns = bmdMO.getAnnotations();
- ManagementObject mo = (ManagementObject) moAnns.get(ManagementObject.class.getName());
- // Reset the name to the bean name rather than the attachment name
- if(bmdMO instanceof MutableManagedObject)
+ Map<String, Annotation> moAnns = bmdMO.getAnnotations();
+ ManagementObject mo = (ManagementObject) moAnns.get(ManagementObject.class.getName());
+ // Reset the name to the bean name rather than the attachment name
+ if (bmdMO instanceof MutableManagedObject)
+ {
+ MutableManagedObject mmo = (MutableManagedObject) bmdMO;
+ // Reset the name to the bean name if its the attachment name
+ if (mmo.getName().equals(mmo.getAttachmentName()))
+ mmo.setName(bmd.getName());
+ mmo.setParent(kdMO);
+ // Add an alias property
+ Set<Object> bmdAliases = bmd.getAliases();
+ Map<String, ManagedProperty> oldProps = mmo.getProperties();
+ Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
+ if (bmdAliases != null && bmdAliases.size() > 0)
{
- MutableManagedObject mmo = (MutableManagedObject) bmdMO;
- // Reset the name to the bean name if its the attachment name
- if(mmo.getName().equals(mmo.getAttachmentName()))
- mmo.setName(bmd.getName());
- mmo.setParent(kdMO);
- // Add an alias property
- Set<Object> bmdAliases = bmd.getAliases();
- Map<String, ManagedProperty> oldProps = mmo.getProperties();
- Map<String, ManagedProperty> newProps = new HashMap<String, ManagedProperty>(oldProps);
- if(bmdAliases != null && bmdAliases.size() > 0)
+ ArrayMetaType aliasType = new ArrayMetaType(SimpleMetaType.STRING, false);
+ DefaultFieldsImpl fields = getFields("alias", aliasType);
+ fields.setDescription("Aliases of the bean");
+ String[] aliases = new String[bmdAliases.size()];
+ Iterator<?> i = bmdAliases.iterator();
+ for (int n = 0; i.hasNext(); n++)
{
- ArrayMetaType aliasType = new ArrayMetaType(SimpleMetaType.STRING, false);
- DefaultFieldsImpl fields = getFields("alias", aliasType);
- fields.setDescription("Aliases of the bean");
- String[] aliases = new String[bmdAliases.size()];
- Iterator<?> i = bmdAliases.iterator();
- for(int n = 0; i.hasNext(); n++)
- {
- aliases[n] = i.next().toString();
- }
- ArrayValueSupport value = new ArrayValueSupport(aliasType, aliases);
- fields.setValue(value);
- ManagedPropertyImpl aliasesMP = new ManagedPropertyImpl(bmdMO, fields);
- newProps.put("alias", aliasesMP);
+ aliases[n] = i.next().toString();
}
- // Add a state property
- DefaultFieldsImpl stateFields = getFields("state", ControllerStateMetaType.TYPE);
- stateFields.setViewUse(new ViewUse[]{ViewUse.STATISTIC});
- EnumValue stateValue = getState(bmd.getName(), kernel);
- stateFields.setValue(stateValue);
- stateFields.setDescription("The bean controller state");
- ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
- newProps.put("state", stateMP);
- // Update the properties
- mmo.setProperties(newProps);
+ ArrayValueSupport value = new ArrayValueSupport(aliasType, aliases);
+ fields.setValue(value);
+ ManagedPropertyImpl aliasesMP = new ManagedPropertyImpl(bmdMO, fields);
+ newProps.put("alias", aliasesMP);
}
- log.debug("Created ManagedObject: "+bmdMO+" for bean: "+bmd.getName());
- kdMOs.put(bmd.getName(), bmdMO);
-
+ // Add a state property
+ DefaultFieldsImpl stateFields = getFields("state", ControllerStateMetaType.TYPE);
+ stateFields.setViewUse(new ViewUse[]
+ {ViewUse.STATISTIC});
+ EnumValue stateValue = getState(bmd.getName(), kernel);
+ stateFields.setValue(stateValue);
+ stateFields.setDescription("The bean controller state");
+ ManagedPropertyImpl stateMP = new ManagedPropertyImpl(mmo, stateFields);
+ newProps.put("state", stateMP);
+ // Update the properties
+ mmo.setProperties(newProps);
}
- // Create the ManagedDeployment
- ManagedDeployment md = mgtDeploymentCreator.build(deploymentUnit, kdMOs, null);
- if(firstDeployment == null)
- firstDeployment = md;
- // Create the ManagedComponents
- for(ManagedObject bmdMO : kdMOs.values())
- {
- if(bmdMO.getAttachmentName().equals(KernelDeployment.class.getName()))
- continue;
+ log.debug("Created ManagedObject: " + bmdMO + " for bean: " + bmd.getName());
+ kdMOs.put(bmd.getName(), bmdMO);
- ComponentType type = KnownComponentTypes.MCBean.Any.getType();
- Map<String, Annotation> moAnns = bmdMO.getAnnotations();
- ManagementComponent mc = (ManagementComponent) moAnns.get(ManagementComponent.class.getName());
- if(mc != null)
- {
- type = new ComponentType(mc.type(), mc.subtype());
- }
- ManagedComponentImpl comp = new ManagedComponentImpl(type, md, bmdMO);
- md.addComponent(bmdMO.getName(), comp);
- log.debug("Created ManagedComponent("+comp.getName()+") of type: "
- +type
- +" for MO: "+bmdMO.getName()
- +", componentName: "+bmdMO.getComponentName());
- }
+ }
+ // Create the ManagedDeployment
+ ManagedDeployment md = mgtDeploymentCreator.build(deploymentUnit, kdMOs, null);
+ if (firstDeployment == null)
+ firstDeployment = md;
+ // Create the ManagedComponents
+ for (ManagedObject bmdMO : kdMOs.values())
+ {
+ if (bmdMO.getAttachmentName().equals(KernelDeployment.class.getName()))
+ continue;
- if(md != null)
- bootstrapMDs.put(kd.getName(), md);
+ ComponentType type = KnownComponentTypes.MCBean.Any.getType();
+ Map<String, Annotation> moAnns = bmdMO.getAnnotations();
+ ManagementComponent mc = (ManagementComponent) moAnns.get(ManagementComponent.class.getName());
+ if (mc != null)
+ {
+ type = new ComponentType(mc.type(), mc.subtype());
+ }
+ ManagedComponentImpl comp = new ManagedComponentImpl(type, md, bmdMO);
+ md.addComponent(bmdMO.getName(), comp);
+ log.debug("Created ManagedComponent(" + comp.getName() + ") of type: " + type + " for MO: "
+ + bmdMO.getName() + ", componentName: " + bmdMO.getComponentName());
}
- // Add other Server managed objects
- if(firstDeployment != null)
+ if (md != null)
+ bootstrapMDs.put(kd.getName(), md);
+ }
+
+ // Add other Server managed objects
+ if (firstDeployment != null)
+ {
+ ComponentType type = new ComponentType("MCBean", "MCServer");
+ ManagedObject serverMO = mof.initManagedObject(server, null);
+ if (serverMO.getOperations() != null && serverMO.getOperations().size() == 0)
{
- ComponentType type = new ComponentType("MCBean", "MCServer");
- ManagedObject serverMO = mof.initManagedObject(mcserver, null);
- if (serverMO.getOperations() != null && serverMO.getOperations().size() == 0)
+ ManagedOperationImpl shutdown = new ManagedOperationImpl("Shutdown the server", "shutdown");
+ if (serverMO instanceof MutableManagedObject)
{
- ManagedOperationImpl shutdown = new ManagedOperationImpl("Shutdown the server", "shutdown");
- if(serverMO instanceof MutableManagedObject)
- {
- HashSet<ManagedOperation> ops = new HashSet<ManagedOperation>();
- ops.add(shutdown);
- MutableManagedObject mmo = MutableManagedObject.class.cast(serverMO);
- mmo.setOperations(ops);
- }
+ HashSet<ManagedOperation> ops = new HashSet<ManagedOperation>();
+ ops.add(shutdown);
+ MutableManagedObject mmo = MutableManagedObject.class.cast(serverMO);
+ mmo.setOperations(ops);
}
- ManagedComponentImpl serverComp = new ManagedComponentImpl(type, firstDeployment, serverMO);
- firstDeployment.addComponent("MCServer", serverComp);
- try
- {
- BeanInfo mcserverInfo = configurator.getBeanInfo(mcserver.getClass());
- BeanKernelRegistryEntry entry = new BeanKernelRegistryEntry(mcserver, mcserverInfo);
- bootstrapEntries.put(serverComp.getComponentName(), entry);
- }
- catch(Throwable t)
- {
- log.error("Failed to create BeanInfo for: "+serverComp, t);
- }
- // ServerConfig
- type = new ComponentType("MCBean", "ServerConfig");
- JBossASServerConfig config = mcserver.getConfiguration();
- ManagedObject mo = mof.initManagedObject(config, null);
- ManagedComponentImpl configComp = new ManagedComponentImpl(type, firstDeployment, mo);
- firstDeployment.addComponent("ServerConfig", configComp);
- log.debug("Created ManagedComponent of type: "+type+" for ServerConfig");
}
+ ManagedComponentImpl serverComp = new ManagedComponentImpl(type, firstDeployment, serverMO);
+ firstDeployment.addComponent("MCServer", serverComp);
+ try
+ {
+ BeanInfo mcserverInfo = configurator.getBeanInfo(server.getClass());
+ BeanKernelRegistryEntry entry = new BeanKernelRegistryEntry(server, mcserverInfo);
+ bootstrapEntries.put(serverComp.getComponentName(), entry);
+ }
+ catch (Throwable t)
+ {
+ log.error("Failed to create BeanInfo for: " + serverComp, t);
+ }
+ // ServerConfig
+ type = new ComponentType("MCBean", "ServerConfig");
+ T config = server.getConfiguration();
+ ManagedObject mo = mof.initManagedObject(config, null);
+ ManagedComponentImpl configComp = new ManagedComponentImpl(type, firstDeployment, mo);
+ firstDeployment.addComponent("ServerConfig", configComp);
+ log.debug("Created ManagedComponent of type: " + type + " for ServerConfig");
}
+
}
/**
Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/clustered/local/JAXBRepositoryContentMetadataPersister.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/clustered/local/JAXBRepositoryContentMetadataPersister.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/clustered/local/JAXBRepositoryContentMetadataPersister.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -29,7 +29,7 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
+import org.jboss.bootstrap.api.as.server.JBossASServer;
import org.jboss.logging.Logger;
import org.jboss.system.server.profileservice.repository.clustered.metadata.RepositoryContentMetadata;
import org.jboss.xb.binding.Unmarshaller;
Modified: trunk/system/src/main/java/org/jboss/system/tools/DeploymentScanner.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/tools/DeploymentScanner.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system/src/main/java/org/jboss/system/tools/DeploymentScanner.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -28,7 +28,7 @@
import org.jboss.aop.microcontainer.aspects.jmx.JMX;
import org.jboss.beans.metadata.api.annotations.Start;
import org.jboss.beans.metadata.api.annotations.Stop;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.util.StringPropertyReplacer;
/**
Modified: trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -38,7 +38,7 @@
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.client.spi.Deployment;
import org.jboss.deployers.structure.spi.DeploymentContext;
Modified: trunk/system-jmx/src/main/java/org/jboss/system/deployers/SARDeployer.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/deployers/SARDeployer.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/deployers/SARDeployer.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -25,7 +25,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.vfs.spi.deployer.JAXPDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImpl.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImpl.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImpl.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -25,7 +25,7 @@
import java.util.Map;
import java.util.Properties;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
/**
* An mbean wrapper for the BaseServerConfig that exposes the config as the
@@ -34,9 +34,9 @@
* @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class ServerConfigImpl implements ServerConfigImplMBean
+public class ServerConfigImpl<T extends JBossASBasedServerConfig<T>> implements ServerConfigImplMBean<T>
{
- private JBossASServerConfig config;
+ private T config;
/**
* Construct a ServerConfigImpl with the ServerConfig pojo which will be used
@@ -44,12 +44,12 @@
*
* @param config - the ServerConfig pojo to expose as a ServerConfigImplMBean
*/
- public ServerConfigImpl(JBossASServerConfig config)
+ public ServerConfigImpl(T config)
{
this.config = config;
}
- public JBossASServerConfig getConfig()
+ public T getConfig()
{
return config;
}
@@ -58,51 +58,51 @@
{
return config.equals(obj);
}
-
+
/*
* All methods below this marker delegate to the underlying config
*/
- public JBossASServerConfig bindAddress(String arg0)
+ public T bindAddress(String arg0)
{
config.bindAddress(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootLibraryLocation(String arg0) throws IllegalArgumentException
+ public T bootLibraryLocation(String arg0) throws IllegalArgumentException
{
config.bootLibraryLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootLibraryLocation(URL arg0)
+ public T bootLibraryLocation(URL arg0)
{
config.bootLibraryLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig commonBaseLocation(String arg0) throws IllegalArgumentException
+ public T commonBaseLocation(String arg0) throws IllegalArgumentException
{
config.commonBaseLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig commonBaseLocation(URL arg0)
+ public T commonBaseLocation(URL arg0)
{
config.commonBaseLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig commonLibLocation(String arg0) throws IllegalArgumentException
+ public T commonLibLocation(String arg0) throws IllegalArgumentException
{
config.commonLibLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig commonLibLocation(URL arg0)
+ public T commonLibLocation(URL arg0)
{
config.commonLibLocation(arg0);
- return this;
+ return this.covarientReturn();
}
public String getBindAddress()
@@ -195,172 +195,172 @@
return config.isLoadNative();
}
- public JBossASServerConfig jbossHome(String arg0) throws IllegalArgumentException
+ public T jbossHome(String arg0) throws IllegalArgumentException
{
config.jbossHome(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig jbossHome(URL arg0)
+ public T jbossHome(URL arg0)
{
config.jbossHome(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig loadNative(Boolean arg0)
+ public T loadNative(Boolean arg0)
{
config.loadNative(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig nativeLibraryLocation(String arg0) throws IllegalArgumentException
+ public T nativeLibraryLocation(String arg0) throws IllegalArgumentException
{
config.nativeLibraryLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig nativeLibraryLocation(URL arg0)
+ public T nativeLibraryLocation(URL arg0)
{
config.nativeLibraryLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig partitionName(String arg0)
+ public T partitionName(String arg0)
{
config.partitionName(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverBaseLocation(String arg0) throws IllegalArgumentException
+ public T serverBaseLocation(String arg0) throws IllegalArgumentException
{
config.serverBaseLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverBaseLocation(URL arg0)
+ public T serverBaseLocation(URL arg0)
{
config.serverBaseLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverConfLocation(String arg0) throws IllegalArgumentException
+ public T serverConfLocation(String arg0) throws IllegalArgumentException
{
config.serverConfLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverConfLocation(URL arg0)
+ public T serverConfLocation(URL arg0)
{
config.serverConfLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverDataLocation(String arg0) throws IllegalArgumentException
+ public T serverDataLocation(String arg0) throws IllegalArgumentException
{
config.serverDataLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverDataLocation(URL arg0)
+ public T serverDataLocation(URL arg0)
{
config.serverDataLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverHomeLocation(String arg0) throws IllegalArgumentException
+ public T serverHomeLocation(String arg0) throws IllegalArgumentException
{
config.serverHomeLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverHomeLocation(URL arg0)
+ public T serverHomeLocation(URL arg0)
{
config.serverHomeLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverLibLocation(String arg0) throws IllegalArgumentException
+ public T serverLibLocation(String arg0) throws IllegalArgumentException
{
config.serverLibLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverLibLocation(URL arg0)
+ public T serverLibLocation(URL arg0)
{
config.serverLibLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverLogLocation(String arg0) throws IllegalArgumentException
+ public T serverLogLocation(String arg0) throws IllegalArgumentException
{
config.serverLogLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverLogLocation(URL arg0)
+ public T serverLogLocation(URL arg0)
{
config.serverLogLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverName(String arg0)
+ public T serverName(String arg0)
{
config.serverName(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverTempLocation(String arg0) throws IllegalArgumentException
+ public T serverTempLocation(String arg0) throws IllegalArgumentException
{
config.serverTempLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig serverTempLocation(URL arg0)
+ public T serverTempLocation(URL arg0)
{
config.serverTempLocation(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig udpGroup(String arg0)
+ public T udpGroup(String arg0)
{
config.udpGroup(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig udpPort(Integer arg0)
+ public T udpPort(Integer arg0)
{
config.udpPort(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootstrapHome(String arg0) throws IllegalArgumentException, IllegalStateException
+ public T bootstrapHome(String arg0) throws IllegalArgumentException, IllegalStateException
{
config.bootstrapHome(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootstrapHome(URL arg0) throws IllegalArgumentException, IllegalStateException
+ public T bootstrapHome(URL arg0) throws IllegalArgumentException, IllegalStateException
{
config.bootstrapHome(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootstrapName(String arg0) throws IllegalArgumentException, IllegalStateException
+ public T bootstrapName(String arg0) throws IllegalArgumentException, IllegalStateException
{
config.bootstrapName(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootstrapUrl(String arg0) throws IllegalArgumentException, IllegalStateException
+ public T bootstrapUrl(String arg0) throws IllegalArgumentException, IllegalStateException
{
config.bootstrapUrl(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig bootstrapUrl(URL arg0) throws IllegalArgumentException, IllegalStateException
+ public T bootstrapUrl(URL arg0) throws IllegalArgumentException, IllegalStateException
{
config.bootstrapUrl(arg0);
- return this;
+ return this.covarientReturn();
}
public void freeze() throws IllegalStateException
@@ -394,10 +394,10 @@
return config.isFrozen();
}
- public JBossASServerConfig property(String arg0, String arg1) throws IllegalArgumentException, IllegalStateException
+ public T property(String arg0, String arg1) throws IllegalArgumentException, IllegalStateException
{
config.property(arg0, arg1);
- return this;
+ return this.covarientReturn();
}
public Boolean isUsePlatformMBeanServer()
@@ -405,10 +405,10 @@
return config.isUsePlatformMBeanServer();
}
- public JBossASServerConfig usePlatformMBeanServer(Boolean arg0)
+ public T usePlatformMBeanServer(Boolean arg0)
{
config.usePlatformMBeanServer(arg0);
- return this;
+ return this.covarientReturn();
}
public String getProperty(String arg0) throws IllegalArgumentException
@@ -416,16 +416,27 @@
return config.getProperty(arg0);
}
- public JBossASServerConfig properties(Map<String, String> arg0) throws IllegalArgumentException,
- IllegalStateException
+ public T properties(Map<String, String> arg0) throws IllegalArgumentException, IllegalStateException
{
config.properties(arg0);
- return this;
+ return this.covarientReturn();
}
- public JBossASServerConfig properties(Properties arg0) throws IllegalArgumentException, IllegalStateException
+ public T properties(Properties arg0) throws IllegalArgumentException, IllegalStateException
{
config.properties(arg0);
- return this;
+ return this.covarientReturn();
}
+
+ /**
+ * Returns this reference represented as T
+ * @return
+ */
+ private T covarientReturn()
+ {
+ @SuppressWarnings("unchecked")
+ final T thisRef = (T) this;
+ return thisRef;
+ }
+
}
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImplMBean.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImplMBean.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigImplMBean.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -23,13 +23,13 @@
import javax.management.ObjectName;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
import org.jboss.mx.util.ObjectNameFactory;
/**
* MBean interface.
*/
-public interface ServerConfigImplMBean extends JBossASServerConfig
+public interface ServerConfigImplMBean<T extends JBossASBasedServerConfig<T>> extends JBossASBasedServerConfig<T>
{
/** Default ObjectName */
ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.system:type=ServerConfig");
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigLocator.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigLocator.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/ServerConfigLocator.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -21,8 +21,8 @@
*/
package org.jboss.system.server;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.bootstrap.spi.config.ServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.config.ServerConfig;
import org.jboss.mx.util.MBeanProxyExt;
/**
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/ServerImplMBean.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/ServerImplMBean.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/ServerImplMBean.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -21,12 +21,16 @@
*/
package org.jboss.system.server;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
+import org.jboss.bootstrap.spi.as.server.JBossASBasedServerProvider;
/**
* MBean interface.
*/
-public interface ServerImplMBean extends JBossASServer, ServerConstants
+public interface ServerImplMBean<K extends JBossASBasedServerProvider<K, T>, T extends JBossASBasedServerConfig<T>>
+ extends
+ JBossASBasedServerProvider<K, T>,
+ ServerConstants
{
// Attributes ----------------------------------------------------
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernel.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernel.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernel.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -41,15 +41,15 @@
import javax.management.NotificationListener;
import javax.management.ObjectName;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
+import org.jboss.bootstrap.api.config.InvalidConfigurationException;
+import org.jboss.bootstrap.api.lifecycle.LifecycleEventException;
+import org.jboss.bootstrap.api.lifecycle.LifecycleEventHandler;
+import org.jboss.bootstrap.api.lifecycle.LifecycleState;
import org.jboss.bootstrap.spi.Bootstrap;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
+import org.jboss.bootstrap.spi.as.server.JBossASBasedServerProvider;
import org.jboss.bootstrap.spi.config.ConfigurationInitializer;
import org.jboss.bootstrap.spi.config.ConfigurationValidator;
-import org.jboss.bootstrap.spi.config.InvalidConfigurationException;
-import org.jboss.bootstrap.spi.lifecycle.LifecycleEventException;
-import org.jboss.bootstrap.spi.lifecycle.LifecycleEventHandler;
-import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
import org.jboss.bootstrap.spi.server.ServerInitializer;
import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloading.spi.RealClassLoader;
@@ -81,8 +81,8 @@
* @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class JMXKernel extends JBossObject
- implements JMXKernelMBean, NotificationEmitter
+public class JMXKernel<K extends JBossASBasedServerProvider<K, T>, T extends JBossASBasedServerConfig<T>> extends JBossObject
+ implements JMXKernelMBean<K,T>, NotificationEmitter
{
private final static ObjectName DEFAULT_LOADER_NAME =
ObjectNameFactory.create(ServerConstants.DEFAULT_LOADER_NAME);
@@ -91,10 +91,10 @@
/** The JMX MBeanServer which will serve as our communication bus. */
private MBeanServer mbeanServer;
- private JBossASServer serverImpl;
+ private K serverImpl;
private ServiceController controller;
- private JBossASServerConfig serverConfig;
- private ServerConfigImplMBean serverConfigMBean;
+ private T serverConfig;
+ private ServerConfigImplMBean<T> serverConfigMBean;
private ServerInfoMBean serverInfo;
/** The kernel */
private Kernel kernel;
@@ -112,11 +112,11 @@
super(log);
}
- public JBossASServer getServerImpl()
+ public K getServerImpl()
{
return serverImpl;
}
- public void setServerImpl(JBossASServer serverImpl)
+ public void setServerImpl(K serverImpl)
{
this.serverImpl = serverImpl;
this.notificationEmitter = (NotificationEmitter) serverImpl;
@@ -291,7 +291,7 @@
// serverImpl.exit(exitcode);
// }
- public JBossASServerConfig getConfig()
+ public T getConfig()
{
return serverConfig;
}
@@ -590,22 +590,22 @@
return serverImpl.getKernel();
}
- public void addBootstrap(final Bootstrap<JBossASServer, JBossASServerConfig> arg0) throws IllegalArgumentException
+ public void addBootstrap(final Bootstrap<K, T> arg0) throws IllegalArgumentException
{
serverImpl.addBootstrap(arg0);
}
- public ConfigurationInitializer<JBossASServerConfig> getConfigInitializer()
+ public ConfigurationInitializer<T> getConfigInitializer()
{
return serverImpl.getConfigInitializer();
}
- public JBossASServerConfig getConfiguration()
+ public T getConfiguration()
{
return serverImpl.getConfiguration();
}
- public ServerInitializer<JBossASServer, JBossASServerConfig> getServerInitializer()
+ public ServerInitializer<K, T> getServerInitializer()
{
return serverImpl.getServerInitializer();
}
@@ -615,7 +615,7 @@
return serverImpl.getState();
}
- public ConfigurationValidator<JBossASServerConfig> getValidator()
+ public ConfigurationValidator<T> getValidator()
{
return serverImpl.getValidator();
}
@@ -650,33 +650,33 @@
serverImpl.registerEventHandlers(arg0, arg1);
}
- public void removeBootstrap(final Bootstrap<JBossASServer, JBossASServerConfig> arg0)
+ public void removeBootstrap(final Bootstrap<K, T> arg0)
throws IllegalArgumentException
{
serverImpl.removeBootstrap(arg0);
}
- public void setConfigInitializer(final ConfigurationInitializer<JBossASServerConfig> arg0)
+ public void setConfigInitializer(final ConfigurationInitializer<T> arg0)
throws IllegalStateException
{
serverImpl.setConfigInitializer(arg0);
}
- public void setConfiguration(final JBossASServerConfig arg0)
+ public void setConfiguration(final T arg0)
{
serverImpl.setConfiguration(arg0);
}
- public void setServerInitializer(final ServerInitializer<JBossASServer, JBossASServerConfig> arg0)
+ public void setServerInitializer(final ServerInitializer<K, T> arg0)
throws IllegalStateException
{
serverImpl.setServerInitializer(arg0);
}
- public void setValidator(final ConfigurationValidator<JBossASServerConfig> arg0) throws IllegalStateException
+ public void setValidator(final ConfigurationValidator<T> arg0) throws IllegalStateException
{
serverImpl.setValidator(arg0);
Modified: trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernelMBean.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernelMBean.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/system-jmx/src/main/java/org/jboss/system/server/jmx/JMXKernelMBean.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -21,9 +21,13 @@
*/
package org.jboss.system.server.jmx;
+import org.jboss.bootstrap.api.as.config.JBossASBasedServerConfig;
+import org.jboss.bootstrap.spi.as.server.JBossASBasedServerProvider;
import org.jboss.system.server.ServerImplMBean;
-public interface JMXKernelMBean extends ServerImplMBean
+public interface JMXKernelMBean<K extends JBossASBasedServerProvider<K, T>, T extends JBossASBasedServerConfig<T>>
+ extends
+ ServerImplMBean<K, T>
{
}
Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/testsuite/build.xml 2009-12-05 00:21:47 UTC (rev 97479)
@@ -422,12 +422,15 @@
<fileset refid="org.jboss.jbossas:jboss-as-server:jar:jboss"/>
<fileset refid="org.jboss.jbossas:jboss-as-server:jar:jmx-adaptor-plugin"/>
<fileset refid="org.jboss.jbossas:jboss-as-main:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api-as:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-api-mc:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-base:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-as:jar"/>
+ <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-mc:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi-as:jar"/>
<fileset refid="org.jboss.bootstrap:jboss-bootstrap-spi-mc:jar"/>
- <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-base:jar"/>
- <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-as:jar"/>
- <fileset refid="org.jboss.bootstrap:jboss-bootstrap-impl-mc:jar"/>
<fileset refid="org.jboss.jbossas:jboss-as-system:jar"/>
<fileset refid="org.jboss.jbossas:jboss-as-system-jmx:jar"/>
<fileset refid="org.jboss.test:jboss-test:jar"/>
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -46,8 +46,9 @@
import org.apache.catalina.startup.CatalinaProperties;
import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.modeler.Registry;
-import org.jboss.bootstrap.spi.as.server.JBossASServer;
-import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
+import org.jboss.bootstrap.api.as.server.JBossASServer;
+import org.jboss.bootstrap.api.lifecycle.LifecycleState;
+import org.jboss.bootstrap.spi.as.server.JBossASServerProvider;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.security.plugins.JaasSecurityManagerServiceMBean;
@@ -627,7 +628,7 @@
public void handleNotification(Notification msg, Object handback)
{
String type = msg.getType();
- if (type.equals(JBossASServer.START_NOTIFICATION_TYPE))
+ if (type.equals(JBossASServerProvider.START_NOTIFICATION_TYPE))
{
log.debug("Saw " + type + " notification, starting connectors");
try
@@ -639,7 +640,7 @@
log.warn("Failed to startConnectors", e);
}
}
- if (type.equals(JBossASServer.STOP_NOTIFICATION_TYPE))
+ if (type.equals(JBossASServerProvider.STOP_NOTIFICATION_TYPE))
{
log.debug("Saw " + type + " notification, stopping connectors");
try
Modified: trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java
===================================================================
--- trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -25,7 +25,7 @@
import javax.management.Notification;
import javax.management.ObjectName;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.system.ListenerServiceMBeanSupport;
import org.opennms.protocols.snmp.SnmpAgentSession;
import org.opennms.protocols.snmp.SnmpPeer;
Modified: trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java
===================================================================
--- trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -22,8 +22,6 @@
import java.io.InputStream;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -32,7 +30,7 @@
import javax.management.Notification;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.jmx.adaptor.snmp.config.manager.Manager;
import org.jboss.logging.Logger;
import org.jboss.xb.binding.MappingObjectModelFactory;
Modified: trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/trapd/TrapdService.java
===================================================================
--- trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/trapd/TrapdService.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/varia/src/main/java/org/jboss/jmx/adaptor/snmp/trapd/TrapdService.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -22,7 +22,7 @@
import java.net.InetAddress;
import java.net.UnknownHostException;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.system.ServiceMBeanSupport;
import org.opennms.protocols.snmp.SnmpTrapSession;
Modified: trunk/varia/src/main/java/org/jboss/services/deployment/LibraryManager.java
===================================================================
--- trunk/varia/src/main/java/org/jboss/services/deployment/LibraryManager.java 2009-12-04 22:19:20 UTC (rev 97478)
+++ trunk/varia/src/main/java/org/jboss/services/deployment/LibraryManager.java 2009-12-05 00:21:47 UTC (rev 97479)
@@ -23,10 +23,10 @@
import java.io.File;
import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
-import java.net.URISyntaxException;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
+import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
import org.jboss.logging.Logger;
import org.jboss.system.server.ServerConfigLocator;
import org.jboss.util.file.Files;
More information about the jboss-cvs-commits
mailing list