[jboss-cvs] JBossAS SVN: r90154 - in projects/jboss-jca/trunk: sjc/src/main/java/org/jboss/jca/sjc and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 12 09:24:29 EDT 2009
Author: jesper.pedersen
Date: 2009-06-12 09:24:29 -0400 (Fri, 12 Jun 2009)
New Revision: 90154
Modified:
projects/jboss-jca/trunk/build.xml
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java
projects/jboss-jca/trunk/tools/findbugs/filter.xml
Log:
[JBJCA-95] Set classloader in shutdown() and added support for all primitive types
Modified: projects/jboss-jca/trunk/build.xml
===================================================================
--- projects/jboss-jca/trunk/build.xml 2009-06-12 12:01:42 UTC (rev 90153)
+++ projects/jboss-jca/trunk/build.xml 2009-06-12 13:24:29 UTC (rev 90154)
@@ -278,6 +278,7 @@
<class location="${target.dir}/jboss-jca-deployers-main.jar" />
<class location="${target.dir}/jboss-jca-deployers-rar.jar" />
<class location="${target.dir}/jboss-jca-sjc.jar" />
+ <class location="${target.dir}/jboss-jca-sjc-ra-deployer.jar" />
<class location="${target.dir}/jboss-jca-standalone.jar" />
</findbugs>
</target>
Modified: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java 2009-06-12 12:01:42 UTC (rev 90153)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java 2009-06-12 13:24:29 UTC (rev 90154)
@@ -27,6 +27,7 @@
import org.jboss.jca.sjc.boot.PropertyType;
import org.jboss.jca.sjc.deployers.Deployer;
+import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
@@ -59,6 +60,9 @@
/** Services */
private static Map<String, Object> services = new HashMap<String, Object>();
+ /** Container classloader */
+ private static URLClassLoader containerClassLoader;
+
/** Logging */
private static Object logging;
@@ -102,10 +106,10 @@
URL[] urls = mergeUrls(libUrls, confUrls);
- URLClassLoader classLoader = new URLClassLoader(urls, parent);
- SecurityActions.setThreadContextClassLoader(classLoader);
+ containerClassLoader = new URLClassLoader(urls, parent);
+ SecurityActions.setThreadContextClassLoader(containerClassLoader);
- initLogging(classLoader);
+ initLogging(containerClassLoader);
SecurityActions.setSystemProperty("xb.builder.useUnorderedSequence", "true");
SecurityActions.setSystemProperty("jboss.deploy.url", deployDirectory.toURI().toURL().toString());
@@ -124,7 +128,7 @@
{
if (services.get(bt.getName()) == null)
{
- Object bean = createBean(bt, classLoader, deployDirectory);
+ Object bean = createBean(bt, containerClassLoader, deployDirectory);
startup.add(bt.getName());
services.put(bt.getName(), bean);
}
@@ -146,6 +150,8 @@
*/
private static void shutdown()
{
+ SecurityActions.setThreadContextClassLoader(containerClassLoader);
+
List<String> shutdown = new LinkedList<String>(startup);
Collections.reverse(shutdown);
@@ -419,6 +425,14 @@
parameterValue = s;
}
+ else if (parameterClass.equals(byte.class) || parameterClass.equals(Byte.class))
+ {
+ parameterValue = Byte.valueOf((String)element);
+ }
+ else if (parameterClass.equals(short.class) || parameterClass.equals(Short.class))
+ {
+ parameterValue = Short.valueOf((String)element);
+ }
else if (parameterClass.equals(int.class) || parameterClass.equals(Integer.class))
{
parameterValue = Integer.valueOf((String)element);
@@ -427,10 +441,22 @@
{
parameterValue = Long.valueOf((String)element);
}
+ else if (parameterClass.equals(float.class) || parameterClass.equals(Float.class))
+ {
+ parameterValue = Float.valueOf((String)element);
+ }
+ else if (parameterClass.equals(double.class) || parameterClass.equals(Double.class))
+ {
+ parameterValue = Double.valueOf((String)element);
+ }
else if (parameterClass.equals(boolean.class) || parameterClass.equals(Boolean.class))
{
parameterValue = Boolean.valueOf((String)element);
}
+ else if (parameterClass.equals(char.class) || parameterClass.equals(Character.class))
+ {
+ parameterValue = Character.valueOf(((String)element).charAt(0));
+ }
else if (parameterClass.equals(InetAddress.class))
{
parameterValue = InetAddress.getByName((String)element);
@@ -456,7 +482,7 @@
Method mGetLogger = clz.getMethod("getLogger", String.class);
- logging = mGetLogger.invoke((Object)null, new Object[] { "Main" });
+ logging = mGetLogger.invoke((Object)null, new Object[] {"Main"});
}
catch (Exception e)
{
@@ -477,7 +503,7 @@
{
Class clz = logging.getClass();
Method mError = clz.getMethod("error", Object.class, Throwable.class);
- mError.invoke(logging, new Object[] { s, t });
+ mError.invoke(logging, new Object[] {s, t});
}
catch (Exception e)
{
@@ -503,7 +529,7 @@
{
Class clz = logging.getClass();
Method mWarn = clz.getMethod("warn", Object.class);
- mWarn.invoke(logging, new Object[] { s });
+ mWarn.invoke(logging, new Object[] {s});
}
catch (Exception e)
{
@@ -528,7 +554,7 @@
{
Class clz = logging.getClass();
Method mInfo = clz.getMethod("info", Object.class);
- mInfo.invoke(logging, new Object[] { s });
+ mInfo.invoke(logging, new Object[] {s});
}
catch (Exception e)
{
@@ -583,6 +609,18 @@
public void run()
{
Main.shutdown();
+
+ if (containerClassLoader != null && containerClassLoader instanceof Closeable)
+ {
+ try
+ {
+ ((Closeable)containerClassLoader).close();
+ }
+ catch (IOException ioe)
+ {
+ // Swallow
+ }
+ }
}
});
Modified: projects/jboss-jca/trunk/tools/findbugs/filter.xml
===================================================================
--- projects/jboss-jca/trunk/tools/findbugs/filter.xml 2009-06-12 12:01:42 UTC (rev 90153)
+++ projects/jboss-jca/trunk/tools/findbugs/filter.xml 2009-06-12 13:24:29 UTC (rev 90154)
@@ -36,6 +36,14 @@
<!-- org.jboss.jca.sjc filter -->
<Match>
+ <Class name="org.jboss.jca.sjc.Main"/>
+ <Bug code="DE"/>
+ </Match>
+ <Match>
+ <Class name="org.jboss.jca.sjc.Main"/>
+ <Bug code="REC"/>
+ </Match>
+ <Match>
<Class name="org.jboss.jca.sjc.Main$LifeThread"/>
<Bug code="UW"/>
</Match>
@@ -43,5 +51,12 @@
<Class name="org.jboss.jca.sjc.Main$LifeThread"/>
<Bug code="Wa"/>
</Match>
-
+ <Match>
+ <Class name="org.jboss.jca.sjc.deployers.ra.ExtractUtil"/>
+ <Bug code="RV"/>
+ </Match>
+ <Match>
+ <Class name="org.jboss.jca.sjc.deployers.ra.RADeployer"/>
+ <Bug code="DLS"/>
+ </Match>
</FindBugsFilter>
More information about the jboss-cvs-commits
mailing list