[jboss-cvs] JBossAS SVN: r104063 - in projects/reloaded/trunk/vdf-bootstrap-minimal: src/main/java/org/jboss/reloaded/api and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Apr 16 11:44:29 EDT 2010
Author: ALRubinger
Date: 2010-04-16 11:44:28 -0400 (Fri, 16 Apr 2010)
New Revision: 104063
Added:
projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_threads.xml
Modified:
projects/reloaded/trunk/vdf-bootstrap-minimal/pom.xml
projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/java/org/jboss/reloaded/api/ReloadedDescriptors.java
projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_TempFileProvider.xml
projects/reloaded/trunk/vdf-bootstrap-minimal/src/test/java/org/jboss/reloaded/api/ShrinkWrapDeployerUnitTest.java
Log:
[RELOADED-15] Register the jboss-threads Schema w/ JBossXB in a bootstrap descriptor format
Modified: projects/reloaded/trunk/vdf-bootstrap-minimal/pom.xml
===================================================================
--- projects/reloaded/trunk/vdf-bootstrap-minimal/pom.xml 2010-04-16 15:20:10 UTC (rev 104062)
+++ projects/reloaded/trunk/vdf-bootstrap-minimal/pom.xml 2010-04-16 15:44:28 UTC (rev 104063)
@@ -202,6 +202,12 @@
<version>${version.org.jboss.threads}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.threads</groupId>
+ <artifactId>jboss-threads-metadata</artifactId>
+ <version>${version.org.jboss.threads}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/java/org/jboss/reloaded/api/ReloadedDescriptors.java
===================================================================
--- projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/java/org/jboss/reloaded/api/ReloadedDescriptors.java 2010-04-16 15:20:10 UTC (rev 104062)
+++ projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/java/org/jboss/reloaded/api/ReloadedDescriptors.java 2010-04-16 15:44:28 UTC (rev 104063)
@@ -1,4 +1,5 @@
package org.jboss.reloaded.api;
+
/*
* JBoss, Home of Professional Open Source.
* Copyright 2010, Red Hat Middleware LLC, and individual contributors
@@ -64,6 +65,12 @@
*/
public static String RESOURCE_NAME_CLASSLOADING = "org.jboss.reloaded_classloading.xml";
+ /**
+ * Name of the resource containing a Microcontainer
+ * deployment descriptor capable of registering jboss-threads with XB
+ */
+ public static String RESOURCE_NAME_THREADS = "org.jboss.reloaded_threads.xml";
+
//-------------------------------------------------------------------------------------||
// Functional Methods -----------------------------------------------------------------||
//-------------------------------------------------------------------------------------||
@@ -135,4 +142,36 @@
return new ClassLoaderResourceBootstrapDescriptor(RESOURCE_NAME_CLASSLOADING, cl);
}
+ /**
+ * Obtains a {@link BootstrapDescriptor} containing components necessary
+ * for registering jboss-threads with JBossXB
+ * @return
+ */
+ public static BootstrapDescriptor getThreadsDescriptor()
+ {
+ // Return
+ return new ClassLoaderResourceBootstrapDescriptor(RESOURCE_NAME_THREADS);
+ }
+
+ /**
+ * Obtains a {@link BootstrapDescriptor} containing components necessary
+ * for registering jboss-threads with JBossXB
+ * The descriptor will be found as a {@link ClassLoader} resource
+ * of name {@link ReloadedDescriptors#RESOURCE_NAME_THREADS} from the specified
+ * @return
+ * @param cl {@link ClassLoader} used to obtain the resource
+ * @throws IllegalArgumentException If the {@link ClassLoader} is not specified
+ */
+ public static BootstrapDescriptor getThreadsDescriptor(final ClassLoader cl)
+ {
+ // Precondition check
+ if (cl == null)
+ {
+ throw new IllegalArgumentException("ClassLoader must be specified");
+ }
+
+ // Return
+ return new ClassLoaderResourceBootstrapDescriptor(RESOURCE_NAME_THREADS, cl);
+ }
+
}
Modified: projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_TempFileProvider.xml
===================================================================
--- projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_TempFileProvider.xml 2010-04-16 15:20:10 UTC (rev 104062)
+++ projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_TempFileProvider.xml 2010-04-16 15:44:28 UTC (rev 104063)
@@ -1,31 +1,38 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <!-- Deployment configuration for a VFS TempFileProvider -->
+ <!-- Deployment configuration for a VFS TempFileProvider
-
- <!--
-
- JBossXB isn't liking the inclusion of this namespace: TODO: Why?
- <threads xmlns="urn:jboss:threads:2.0">
-
- [Comment] This will execute
- in the calling Thread. Probably better to use another,
- Single-threaded executor type, but this is fine for now [/Comment]
-
- <direct-executor name="org.jboss.reloaded.TempFileExecutorService"/>
-
- </threads>
+ <threads xmlns="urn:jboss:threads:2.0">
+ <thread-factory name="org.jboss.reloaded.TempFileThreadFactory"/>
+ <scheduled-thread-pool-executor name="org.jboss.reloaded.TempFileExecutorService">
+ <max-threads count="1" per-cpu="1"/>
+ <thread-factory name="org.jboss.reloaded.TempFileThreadFactory"/>
+ </scheduled-thread-pool-executor>
+ </threads>
+
+ Currently fails with:
+
+ org.jboss.joinpoint.spi.JoinpointException: Constructor not found
+ org.jboss.threads.QueuelessExecutor[int, java.util.concurrent.ThreadFactory] in
+ [ReflectConstructorInfoImpl at 11afd9cc{[ReflectClassInfoImpl at 3003e926{name=java.util.concurrent.ThreadFactory},
+ ReflectClassInfoImpl at 50bfd66a{name=org.jboss.threads.DirectExecutor},
+ ReflectClassInfoImpl at 6295f290{name=java.util.concurrent.Executor}, long]}]
+
+ FIXME: Example on http://community.jboss.org/wiki/ThreadPoolConfiguration might need to be updated
+ Ask DML
+
-->
<!--
Define the Executor, but this should really be done in threads.xsd
format above
+ TODO Remove this when the above works
-->
<bean name="org.jboss.reloaded.TempFileExecutorService" class="org.jboss.threads.JBossScheduledThreadPoolExecutor">
<constructor>
<parameter>1</parameter>
</constructor>
- </bean>
+ </bean>
<bean name="org.jboss.reloaded.TempFileProvider" class="org.jboss.vfs.TempFileProvider">
<constructor factoryClass="org.jboss.vfs.TempFileProvider"
Added: projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_threads.xml
===================================================================
--- projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_threads.xml (rev 0)
+++ projects/reloaded/trunk/vdf-bootstrap-minimal/src/main/resources/org.jboss.reloaded_threads.xml 2010-04-16 15:44:28 UTC (rev 104063)
@@ -0,0 +1,24 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!--
+
+ Initializes XB for use with jboss-threads Schema
+ -->
+
+ <bean name="JBossThreadsMetaDataFactoryDeployer"
+ class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer">
+ <constructor>
+ <parameter>org.jboss.threads.metadata.ThreadsMetaData</parameter>
+ </constructor>
+ </bean>
+
+ <bean name="JBossThreadsMetaDataSchemaResolverDeployer"
+ class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+ <constructor>
+ <parameter>org.jboss.threads.metadata.ThreadsMetaData</parameter>
+ </constructor>
+ <property name="name">jboss-threads.xml</property>
+ <property name="registerWithJBossXB">true</property>
+ </bean>
+
+</deployment>
\ No newline at end of file
Modified: projects/reloaded/trunk/vdf-bootstrap-minimal/src/test/java/org/jboss/reloaded/api/ShrinkWrapDeployerUnitTest.java
===================================================================
--- projects/reloaded/trunk/vdf-bootstrap-minimal/src/test/java/org/jboss/reloaded/api/ShrinkWrapDeployerUnitTest.java 2010-04-16 15:20:10 UTC (rev 104062)
+++ projects/reloaded/trunk/vdf-bootstrap-minimal/src/test/java/org/jboss/reloaded/api/ShrinkWrapDeployerUnitTest.java 2010-04-16 15:44:28 UTC (rev 104063)
@@ -64,6 +64,7 @@
final List<BootstrapDescriptor> descriptors = server.getConfiguration().getBootstrapDescriptors();
descriptors.add(ReloadedDescriptors.getClassLoadingDescriptor());
descriptors.add(ReloadedDescriptors.getVdfDescriptor());
+ descriptors.add(ReloadedDescriptors.getThreadsDescriptor());
descriptors.add(ShrinkWrapReloadedDescriptors.getTempFileProviderDescriptor());
descriptors.add(ShrinkWrapReloadedDescriptors.getShrinkWrapDeployerDescriptor());
}
More information about the jboss-cvs-commits
mailing list