[jboss-cvs] JBossAS SVN: r89849 - in projects/jboss-jca/trunk: doc/developerguide/en and 12 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 4 16:26:25 EDT 2009
Author: jesper.pedersen
Date: 2009-06-04 16:26:25 -0400 (Thu, 04 Jun 2009)
New Revision: 89849
Added:
projects/jboss-jca/trunk/sjc/
projects/jboss-jca/trunk/sjc/build.xml
projects/jboss-jca/trunk/sjc/src/
projects/jboss-jca/trunk/sjc/src/main/
projects/jboss-jca/trunk/sjc/src/main/java/
projects/jboss-jca/trunk/sjc/src/main/java/org/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/JarFilter.java
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/SecurityActions.java
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployment.java
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/RarDeployer.java
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/package.html
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/JMX.java
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/package.html
projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/package.html
projects/jboss-jca/trunk/sjc/src/main/resources/
projects/jboss-jca/trunk/sjc/src/main/resources/boot.xml
projects/jboss-jca/trunk/sjc/src/main/resources/boot.xsd
projects/jboss-jca/trunk/sjc/src/main/resources/jndi.properties
projects/jboss-jca/trunk/sjc/src/main/resources/log4j.xml
projects/jboss-jca/trunk/sjc/src/main/resources/run.sh
projects/jboss-jca/trunk/sjc/src/main/resources/sjc-manifest.mf
Modified:
projects/jboss-jca/trunk/build.xml
projects/jboss-jca/trunk/doc/developerguide/en/master.xml
projects/jboss-jca/trunk/ivy.xml
projects/jboss-jca/trunk/lib/
Log:
[JBJCA-95] JBoss JCA/SJC
Modified: projects/jboss-jca/trunk/build.xml
===================================================================
--- projects/jboss-jca/trunk/build.xml 2009-06-04 20:24:37 UTC (rev 89848)
+++ projects/jboss-jca/trunk/build.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -65,10 +65,12 @@
<property name="version.apache-log4j" value="1.2.14"/>
<property name="version.apache-logging" value="1.1.0.jboss"/>
<property name="version.apache-xerces" value="2.9.1"/>
+ <property name="version.activation" value="1.1.1"/>
<property name="version.easymock" value="2.4"/>
<property name="version.javassist" value="3.10.0.GA"/>
- <property name="version.jaxb.api" value="2.0"/>
+ <property name="version.jaxb.api" value="2.1"/>
<property name="version.jaxb.impl" value="2.1"/>
+ <property name="version.jaxb.xjc" value="2.1.6"/>
<property name="version.jboss.aop" value="2.1.1.GA"/>
<property name="version.jboss.bootstrap" value="1.0.0-Beta-3"/>
<property name="version.jboss.classloading" value="2.2.0.M4"/>
@@ -92,12 +94,22 @@
<property name="version.jboss.vfs" value="2.2.0.M4"/>
<property name="version.jboss.xb" value="2.0.1.GA"/>
<property name="version.junit" value="4.5"/>
+ <property name="version.stax" value="1.0.1"/>
<property name="version.transaction.api" value="1.0.1.GA"/>
<property name="version.trove" value="2.1.1"/>
<!-- =================================
Paths
================================= -->
+ <path id="sjc.lib.path.id">
+ <fileset dir="${lib.dir}/sjc">
+ <include name="**/*.jar"/>
+ </fileset>
+ <fileset dir="${target.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </path>
+
<path id="standalone.lib.path.id">
<fileset dir="${lib.dir}/standalone">
<include name="**/*.jar"/>
@@ -166,6 +178,7 @@
<ant dir="common" inheritRefs="true" target="jars"/>
<ant dir="core" inheritRefs="true" target="jars"/>
<ant dir="deployers" inheritRefs="true" target="jars"/>
+ <ant dir="sjc" inheritRefs="true" target="jars"/>
<ant dir="standalone" inheritRefs="true" target="jars"/>
</target>
@@ -177,6 +190,7 @@
<ant dir="common" inheritRefs="true" target="docs"/>
<ant dir="core" inheritRefs="true" target="docs"/>
<ant dir="deployers" inheritRefs="true" target="docs"/>
+ <ant dir="sjc" inheritRefs="true" target="docs"/>
<ant dir="standalone" inheritRefs="true" target="docs"/>
</target>
@@ -204,6 +218,13 @@
</target>
<!-- =================================
+ Target: sjc
+ ================================= -->
+ <target name="sjc" depends="jars">
+ <ant dir="sjc" inheritRefs="true" target="sjc"/>
+ </target>
+
+ <!-- =================================
Target: standalone
================================= -->
<target name="standalone" depends="jars">
@@ -256,6 +277,7 @@
<class location="${target.dir}/jboss-jca-core-impl.jar" />
<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-standalone.jar" />
</findbugs>
</target>
Modified: projects/jboss-jca/trunk/doc/developerguide/en/master.xml
===================================================================
--- projects/jboss-jca/trunk/doc/developerguide/en/master.xml 2009-06-04 20:24:37 UTC (rev 89848)
+++ projects/jboss-jca/trunk/doc/developerguide/en/master.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -7,6 +7,7 @@
<!ENTITY testing SYSTEM "modules/testing.xml">
<!ENTITY metadata SYSTEM "modules/metadata.xml">
<!ENTITY deployers SYSTEM "modules/deployers.xml">
+ <!ENTITY standalone SYSTEM "modules/standalone.xml">
]>
<book lang="en">
<bookinfo>
@@ -30,4 +31,6 @@
&deployers;
+ &standalone;
+
</book>
Modified: projects/jboss-jca/trunk/ivy.xml
===================================================================
--- projects/jboss-jca/trunk/ivy.xml 2009-06-04 20:24:37 UTC (rev 89848)
+++ projects/jboss-jca/trunk/ivy.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -32,21 +32,24 @@
<configurations>
<conf name="standalone" transitive="false"/>
<conf name="test" extends="standalone" transitive="false"/>
+ <conf name="sjc" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="apache-log4j" name="log4j" rev="${version.apache-log4j}" conf="standalone->default"/>
+ <dependency org="apache-log4j" name="log4j" rev="${version.apache-log4j}" conf="standalone->default;sjc->*"/>
<dependency org="apache-logging" name="commons-logging" rev="${version.apache-logging}" conf="*"/>
<dependency org="javassist" name="javassist" rev="${version.javassist}" conf="standalone->default"/>
- <dependency org="javax.xml" name="jaxb-api" rev="${version.jaxb.api}" conf="standalone->default"/>
- <dependency org="javax.xml" name="jaxb-impl" rev="${version.jaxb.impl}" conf="standalone->default"/>
- <dependency org="jboss.jbossts" name="jbossjta" rev="${version.jboss.ts}" conf="standalone->default"/>
- <dependency org="jboss.jbossts" name="jbossjta-integration" rev="${version.jboss.ts}" conf="standalone->default"/>
- <dependency org="jboss.jbossts" name="jbossts-common" rev="${version.jboss.ts}" conf="standalone->default"/>
+ <dependency org="javax.xml.bind" name="jaxb-api" rev="${version.jaxb.api}" conf="standalone->default;sjc->*"/>
+ <dependency org="javax.xml" name="jaxb-impl" rev="${version.jaxb.impl}" conf="standalone->default;sjc->*"/>
+ <dependency org="javax.activation" name="activation" rev="${version.activation}" conf="standalone->default;sjc->*"/>
+ <dependency org="com.sun.xml.bind" name="jaxb-xjc" rev="${version.jaxb.xjc}" conf="standalone->default;sjc->*"/>
+ <dependency org="jboss.jbossts" name="jbossjta" rev="${version.jboss.ts}" conf="standalone->default;sjc->*"/>
+ <dependency org="jboss.jbossts" name="jbossjta-integration" rev="${version.jboss.ts}" conf="standalone->default;sjc->*"/>
+ <dependency org="jboss.jbossts" name="jbossts-common" rev="${version.jboss.ts}" conf="standalone->default;sjc->*"/>
<dependency org="junit" name="junit" rev="${version.junit}" conf="test->default"/>
<dependency org="org.easymock" name="easymock" rev="${version.easymock}" conf="test->default"/>
<dependency org="org.easymock" name="easymockclassextension" rev="${version.easymock}" conf="test->default"/>
- <dependency org="org.jboss" name="jboss-common-core" rev="${version.jboss.common}" conf="standalone->default"/>
+ <dependency org="org.jboss" name="jboss-common-core" rev="${version.jboss.common}" conf="standalone->default;sjc->*"/>
<dependency org="org.jboss" name="jboss-mdr" rev="${version.jboss.mdr}" conf="standalone->default"/>
<dependency org="org.jboss" name="jboss-reflect" rev="${version.jboss.reflect}" conf="standalone->default"/>
<dependency org="org.jboss" name="jboss-vfs" rev="${version.jboss.vfs}" conf="standalone->default"/>
@@ -70,22 +73,23 @@
<dependency org="org.jboss.deployers" name="jboss-deployers-vfs" rev="${version.jboss.deployers}" conf="standalone->default"/>
<dependency org="org.jboss.deployers" name="jboss-deployers-vfs-spi" rev="${version.jboss.deployers}" conf="standalone->default"/>
<dependency org="org.jboss.ejb3" name="jboss-ejb3-test" rev="${version.jboss.ejb3.test}" conf="test->default"/>
- <dependency org="org.jboss.integration" name="jboss-integration" rev="${version.jboss.integration}" conf="standalone->default"/>
- <dependency org="org.jboss.javaee" name="jboss-transaction-api" rev="${version.transaction.api}" conf="standalone->default"/>
- <dependency org="org.jboss.logbridge" name="jboss-logbridge" rev="${version.jboss.logbridge}" conf="standalone->default"/>
- <dependency org="org.jboss.logging" name="jboss-logging-jdk" rev="${version.jboss.logging}" conf="standalone->default"/>
- <dependency org="org.jboss.logging" name="jboss-logging-log4j" rev="${version.jboss.logging.log4j}" conf="standalone->default"/>
- <dependency org="org.jboss.logging" name="jboss-logging-spi" rev="${version.jboss.logging}" conf="standalone->default"/>
- <dependency org="org.jboss.logmanager" name="jboss-logmanager" rev="${version.jboss.logmanager}" conf="standalone->default"/>
+ <dependency org="org.jboss.integration" name="jboss-integration" rev="${version.jboss.integration}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.javaee" name="jboss-transaction-api" rev="${version.transaction.api}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.logbridge" name="jboss-logbridge" rev="${version.jboss.logbridge}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.logging" name="jboss-logging-jdk" rev="${version.jboss.logging}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.logging" name="jboss-logging-log4j" rev="${version.jboss.logging.log4j}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.logging" name="jboss-logging-spi" rev="${version.jboss.logging}" conf="standalone->default;sjc->*"/>
+ <dependency org="org.jboss.logmanager" name="jboss-logmanager" rev="${version.jboss.logmanager}" conf="standalone->default;sjc->*"/>
<dependency org="org.jboss.man" name="jboss-managed" rev="${version.jboss.managed}" conf="standalone->default"/>
<dependency org="org.jboss.man" name="jboss-metatype" rev="${version.jboss.managed}" conf="standalone->default"/>
<dependency org="org.jboss.metadata" name="jboss-metadata" rev="${version.jboss.metadata}" conf="standalone->default"/>
<dependency org="org.jboss.microcontainer" name="jboss-aop-mc-int" rev="${version.jboss.mc.aop-int}" conf="standalone->default"/>
<dependency org="org.jboss.microcontainer" name="jboss-dependency" rev="${version.jboss.mc.dependency}" conf="standalone->default"/>
<dependency org="org.jboss.microcontainer" name="jboss-kernel" rev="${version.jboss.mc.kernel}" conf="standalone->default"/>
- <dependency org="org.jboss.naming" name="jnpserver" rev="${version.jboss.naming}" conf="standalone->default"/>
+ <dependency org="org.jboss.naming" name="jnpserver" rev="${version.jboss.naming}" conf="standalone->default;sjc->*"/>
+ <dependency org="stax" name="stax-api" rev="${version.stax}" conf="standalone->default;sjc->*"/>
<dependency org="trove" name="trove" rev="${version.trove}" conf="standalone->default"/>
- <dependency org="xerces" name="xercesImpl" rev="${version.apache-xerces}" conf="standalone->default"/>
+ <dependency org="xerces" name="xercesImpl" rev="${version.apache-xerces}" conf="standalone->default;sjc->*"/>
</dependencies>
</ivy-module>
Property changes on: projects/jboss-jca/trunk/lib
___________________________________________________________________
Name: svn:ignore
- *.jar
standalone
test
qe
+ *.jar
standalone
test
qe
sjc
Added: projects/jboss-jca/trunk/sjc/build.xml
===================================================================
--- projects/jboss-jca/trunk/sjc/build.xml (rev 0)
+++ projects/jboss-jca/trunk/sjc/build.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,173 @@
+<!--
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+<project name="jboss-jca-sjc"
+ default="compile"
+ xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <!-- =================================
+ Properties
+ ================================= -->
+ <property name="build.sjc.dir" value="${build.dir}/sjc" />
+
+ <!-- =================================
+ Target: init
+ ================================= -->
+ <target name="init">
+ <mkdir dir="${build.sjc.dir}" />
+ <mkdir dir="${build.sjc.dir}/impl" />
+ </target>
+
+ <!-- =================================
+ Target: compile boot.xsd
+ ================================= -->
+ <target name="compile-boot-xsd" depends="init">
+ <taskdef name="xjc"
+ classname="com.sun.tools.xjc.XJCTask"
+ classpathref="sjc.lib.path.id"/>
+ <xjc schema="src/main/resources/boot.xsd"
+ destdir="${build.sjc.dir}/impl"
+ package="org.jboss.jca.sjc.boot"/>
+ <javac srcdir="${build.sjc.dir}/impl"
+ destdir="${build.sjc.dir}/impl"
+ classpathref="sjc.lib.path.id"
+ debug="${javac.debug}"
+ deprecation="${javac.deprecation}"
+ optimize="${javac.optimize}">
+ <compilerarg value="-Xlint"/>
+ </javac>
+ <delete>
+ <fileset dir="${build.sjc.dir}/impl">
+ <include name="**/*.java"/>
+ </fileset>
+ </delete>
+ </target>
+
+ <!-- =================================
+ Target: compile
+ ================================= -->
+ <target name="compile" depends="compile-boot-xsd">
+ <javac srcdir="src/main"
+ destdir="${build.sjc.dir}/impl"
+ classpathref="sjc.lib.path.id"
+ debug="${javac.debug}"
+ deprecation="${javac.deprecation}"
+ optimize="${javac.optimize}">
+ <compilerarg value="-Xlint"/>
+ </javac>
+ </target>
+
+ <!-- =================================
+ Target: jars
+ ================================= -->
+ <target name="jars" depends="compile">
+ <jar destfile="${target.dir}/jboss-jca-sjc.jar"
+ manifest="src/main/resources/sjc-manifest.mf"
+ basedir="${build.sjc.dir}/impl"
+ excludes="**/*.java"/>
+ </target>
+
+ <!-- =================================
+ Target: docs
+ ================================= -->
+ <target name="docs">
+ <mkdir dir="${target.dir}/docs/sjc"/>
+ <javadoc packagenames="org.*"
+ sourcepath="src/main/java"
+ destdir="${target.dir}/docs/sjc"
+ author="true"
+ version="true"
+ windowtitle="JBoss JCA SJC"
+ doctitle="JBoss JCA SJC"
+ use="true"
+ classpathref="sjc.lib.path.id"
+ bottom="Copyright © 2008-2009 Red Hat Middleware LLC (http://www.jboss.com/)">
+ <link offline="true" href="http://java.sun.com/j2se/5/docs/api/" packagelistLoc="${java.home}/../docs/api"/>
+ </javadoc>
+ </target>
+
+ <!-- =================================
+ Target: sjc
+ ================================= -->
+ <target name="sjc" depends="compile">
+ <mkdir dir="${target.dir}/sjc"/>
+ <mkdir dir="${target.dir}/sjc/bin"/>
+ <mkdir dir="${target.dir}/sjc/config"/>
+ <mkdir dir="${target.dir}/sjc/lib"/>
+ <mkdir dir="${target.dir}/sjc/lib/endorsed"/>
+ <mkdir dir="${target.dir}/sjc/log"/>
+ <mkdir dir="${target.dir}/sjc/deploy"/>
+
+ <copy todir="${target.dir}/sjc/bin">
+ <fileset dir="src/main/resources/">
+ <include name="**/*.sh"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/bin">
+ <fileset dir="${target.dir}">
+ <include name="*sjc.jar"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/config">
+ <fileset dir="src/main/resources">
+ <include name="*.xml"/>
+ <include name="*.xsd"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/config">
+ <fileset dir="src/main/resources/">
+ <include name="*.properties"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/lib">
+ <fileset dir="${target.dir}">
+ <include name="*.jar"/>
+ <exclude name="*sjc.jar"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/lib">
+ <fileset dir="${lib.dir}/sjc">
+ <include name="*.jar"/>
+ <exclude name="jaxb-api.jar"/>
+ <exclude name="xercesImpl.jar"/>
+ <exclude name="*xjc.jar"/>
+ <exclude name="stax-api.jar"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${target.dir}/sjc/lib/endorsed">
+ <fileset dir="${lib.dir}/sjc">
+ <include name="jaxb-api.jar"/>
+ <include name="xercesImpl.jar"/>
+ <include name="stax-api.jar"/>
+ </fileset>
+ </copy>
+
+ <chmod dir="${target.dir}/sjc/bin" perm="ugo+rx" includes="**/*.sh"/>
+
+ </target>
+
+</project>
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/JarFilter.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/JarFilter.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/JarFilter.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+/**
+ * Jar filter
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public class JarFilter implements FilenameFilter
+{
+ /**
+ * Accept
+ * @param dir The directory
+ * @param name The name
+ * @return True if accepts; otherwise false
+ */
+ public boolean accept(File dir, String name)
+ {
+ return name.endsWith(".jar");
+ }
+}
Added: 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 (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/Main.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,511 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc;
+
+import org.jboss.jca.sjc.boot.BeanType;
+import org.jboss.jca.sjc.boot.InjectType;
+import org.jboss.jca.sjc.boot.PropertyType;
+import org.jboss.jca.sjc.deployers.Deployer;
+
+import java.lang.reflect.Method;
+import java.io.File;
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Unmarshaller;
+
+/**
+ * The main class for JBoss JCA SJC
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public class Main
+{
+ /** Startup list */
+ private static List<String> startup = new LinkedList<String>();
+
+ /** Services */
+ private static Map<String, Object> services = new HashMap<String, Object>();
+
+ /**
+ * Default constructor
+ */
+ private Main()
+ {
+ }
+
+ /**
+ * Boot
+ * @param args The arguments
+ */
+ private static void boot(String[] args)
+ {
+ try
+ {
+ String home = SecurityActions.getSystemProperty("jboss.jca.home");
+ File root = null;
+
+ if (home != null)
+ {
+ root = new File(new URI(home));
+ }
+ else
+ {
+ home = new File(".").toURI().toURL().toString();
+ root = new File(new URI(home.substring(0, home.lastIndexOf("bin"))));
+ SecurityActions.setSystemProperty("jboss.jca.home", root.getAbsolutePath());
+ }
+
+ File libDirectory = new File(root, "/lib/");
+ File configDirectory = new File(root, "/config/");
+ File deployDirectory = new File(root, "/deploy/");
+
+ ClassLoader parent = SecurityActions.getThreadContextClassLoader();
+
+ URL[] libUrls = getUrls(libDirectory);
+ URL[] confUrls = getUrls(configDirectory);
+
+ URL[] urls = mergeUrls(libUrls, confUrls);
+
+ URLClassLoader classLoader = new URLClassLoader(urls, parent);
+ SecurityActions.setThreadContextClassLoader(classLoader);
+
+ SecurityActions.setSystemProperty("xb.builder.useUnorderedSequence", "true");
+ SecurityActions.setSystemProperty("jboss.deploy.url", deployDirectory.toURI().toURL().toString());
+ SecurityActions.setSystemProperty("jboss.lib.url", libDirectory.toURI().toURL().toString());
+ SecurityActions.setSystemProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager");
+
+ File bootXml = new File(configDirectory, "boot.xml");
+ JAXBContext bootJc = JAXBContext.newInstance("org.jboss.jca.sjc.boot");
+ Unmarshaller bootU = bootJc.createUnmarshaller();
+ org.jboss.jca.sjc.boot.Deployment boot =
+ (org.jboss.jca.sjc.boot.Deployment)bootU.unmarshal(bootXml);
+
+ if (boot != null)
+ {
+ for (BeanType bt : boot.getBean())
+ {
+ if (services.get(bt.getName()) == null)
+ {
+ Object bean = createBean(bt, classLoader, deployDirectory);
+ startup.add(bt.getName());
+ services.put(bt.getName(), bean);
+ }
+ else
+ {
+ System.out.println("Warning: A service with name " + bt.getName() + " already exists");
+ }
+ }
+ }
+ }
+ catch (Throwable t)
+ {
+ t.printStackTrace(System.err);
+ }
+ }
+
+ /**
+ * Shutdown
+ */
+ private static void shutdown()
+ {
+ List<String> shutdown = new LinkedList<String>(startup);
+ Collections.reverse(shutdown);
+
+ for (String name : shutdown)
+ {
+ Object service = services.get(name);
+
+ try
+ {
+ Method stopMethod = service.getClass().getMethod("stop", (Class[])null);
+ stopMethod.invoke(service, (Object[])null);
+ }
+ catch (Exception e)
+ {
+ // No stop method
+ }
+
+ try
+ {
+ Method destroyMethod = service.getClass().getMethod("destroy", (Class[])null);
+ destroyMethod.invoke(service, (Object[])null);
+ }
+ catch (Exception e)
+ {
+ // No destroy method
+ }
+ }
+
+ System.out.println("Shutdown complete");
+ }
+
+ /**
+ * Get the URLs for the directory and all libraries located in the directory
+ * @param directrory The directory
+ * @return The URLs
+ * @exception MalformedURLException MalformedURLException
+ * @exception IOException IOException
+ */
+ private static URL[] getUrls(File directory) throws MalformedURLException, IOException
+ {
+ List<URL> list = new LinkedList<URL>();
+
+ if (directory.exists() && directory.isDirectory())
+ {
+ // Add directory
+ list.add(directory.toURI().toURL());
+
+ // Add the contents of the directory too
+ File[] jars = directory.listFiles(new JarFilter());
+
+ for (int j = 0; jars != null && j < jars.length; j++)
+ {
+ list.add(jars[j].getCanonicalFile().toURI().toURL());
+ }
+ }
+ return list.toArray(new URL[list.size()]);
+ }
+
+ /**
+ * Merge URLs into a single array
+ * @param urls The URLs
+ * @return The combined list
+ */
+ private static URL[] mergeUrls(URL[]... urls)
+ {
+ List<URL> list = new LinkedList<URL>();
+
+ for (URL[] all : urls)
+ {
+ for (URL url : all)
+ {
+ list.add(url);
+ }
+ }
+
+ return list.toArray(new URL[list.size()]);
+ }
+
+ /**
+ * Create a bean
+ * @param bt The bean type definition
+ * @param cl The classloader
+ * @param deployDirectory The deploy directory
+ * @return The new bean
+ * @exception Exception Thrown if an error occurs
+ */
+ private static Object createBean(BeanType bt, ClassLoader cl, File deployDirectory) throws Exception
+ {
+ Class<?> clz = Class.forName(bt.getClazz(), true, cl);
+ Object instance = clz.newInstance();
+
+ if (bt.getProperty() != null)
+ {
+ for (PropertyType pt : bt.getProperty())
+ {
+ setBeanProperty(instance, pt, cl);
+ }
+ }
+
+ try
+ {
+ Method createMethod = clz.getMethod("create", (Class[])null);
+ createMethod.invoke(instance, (Object[])null);
+ }
+ catch (Exception e)
+ {
+ // No create method
+ }
+
+ try
+ {
+ Method startMethod = clz.getMethod("start", (Class[])null);
+ startMethod.invoke(instance, (Object[])null);
+ }
+ catch (Exception e)
+ {
+ // No start method
+ }
+
+ if (instance instanceof Deployer)
+ {
+ try
+ {
+ Method deployMethod = clz.getMethod("deploy", new Class[] {File.class});
+
+ for (File f : deployDirectory.listFiles())
+ {
+ org.jboss.jca.sjc.deployers.Deployment deployment =
+ (org.jboss.jca.sjc.deployers.Deployment)deployMethod.invoke(instance, new Object[] {f});
+ if (deployment != null)
+ {
+ if (services.get(deployment.getName()) == null)
+ {
+ startup.add(deployment.getName());
+ services.put(deployment.getName(), deployment);
+ }
+ else
+ {
+ System.out.println("Warning: A deployment with name " + deployment.getName() + " already exists");
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace(System.err);
+ }
+ }
+
+ return instance;
+ }
+
+ /**
+ * Set a property on an object instance
+ * @param instance The object instance
+ * @param pt The property type definition
+ * @param cl The classloader
+ * @exception Exception Thrown if an error occurs
+ */
+ private static void setBeanProperty(Object instance, PropertyType pt, ClassLoader cl) throws Exception
+ {
+ String name = "set" + pt.getName().substring(0, 1).toUpperCase() + pt.getName().substring(1);
+ Method m = null;
+
+ if (pt.getClazz() == null)
+ {
+ Method[] ms = instance.getClass().getMethods();
+ if (ms != null)
+ {
+ boolean found = false;
+
+ for (int i = 0; !found && i < ms.length; i++)
+ {
+ if (ms[i].getName().equals(name) &&
+ ms[i].getParameterTypes() != null &&
+ ms[i].getParameterTypes().length == 1)
+ {
+ m = ms[i];
+ found = true;
+ }
+ }
+ }
+ }
+ else
+ {
+ Class clz = Class.forName(pt.getClazz(), true, cl);
+ m = instance.getClass().getMethod(name, clz);
+ }
+
+ if (m == null)
+ throw new Exception("Property " + pt.getName() + " not found on " + instance.getClass().getName());
+
+ Class parameterClass = m.getParameterTypes()[0];
+
+ Object parameterValue = null;
+ Object e = pt.getContent().get(0);
+ Object element = null;
+
+ if (e != null && e instanceof JAXBElement)
+ {
+ element = ((JAXBElement)e).getValue();
+ }
+ else
+ {
+ if (e == null)
+ e = "";
+
+ element = e;
+ }
+
+ if (element instanceof InjectType)
+ {
+ InjectType it = (InjectType)element;
+
+ Object injectionObject = services.get(it.getBean());
+
+ if (injectionObject == null)
+ throw new Exception("Injection depedency " + it.getBean() + " not found");
+
+ if (it.getProperty() != null)
+ {
+ String getMethodName = "get" + it.getProperty().substring(0, 1).toUpperCase() + it.getProperty().substring(1);
+ Method getMethod = injectionObject.getClass().getMethod(getMethodName, (Class[])null);
+
+ parameterValue = getMethod.invoke(injectionObject, (Object[])null);
+ }
+ else
+ {
+ parameterValue = injectionObject;
+ }
+ }
+ else
+ {
+ if (parameterClass.equals(String.class))
+ {
+ String s = (String)element;
+
+ if (s.indexOf("${") != -1)
+ {
+ int from = s.indexOf("${");
+ int to = s.indexOf("}");
+
+ String systemProperty = SecurityActions.getSystemProperty(s.substring(from + 2, to));
+ String prefix = "";
+ String postfix = "";
+
+ if (from != 0)
+ {
+ prefix = s.substring(0, from);
+ }
+
+ if (to + 1 < s.length() - 1)
+ {
+ postfix = s.substring(to + 1);
+ }
+
+ s = prefix + systemProperty + postfix;
+ }
+
+ parameterValue = s;
+ }
+ else if (parameterClass.equals(int.class) || parameterClass.equals(Integer.class))
+ {
+ parameterValue = Integer.valueOf((String)element);
+ }
+ else if (parameterClass.equals(long.class) || parameterClass.equals(Long.class))
+ {
+ parameterValue = Long.valueOf((String)element);
+ }
+ else if (parameterClass.equals(boolean.class) || parameterClass.equals(Boolean.class))
+ {
+ parameterValue = Boolean.valueOf((String)element);
+ }
+ else if (parameterClass.equals(InetAddress.class))
+ {
+ parameterValue = InetAddress.getByName((String)element);
+ }
+ }
+
+ if (parameterValue == null)
+ throw new Exception("No parameter value assigned for class " + parameterClass.getName() +
+ " value " + element);
+
+ m.invoke(instance, parameterValue);
+ }
+
+ /**
+ * Main
+ * @param args The arguments
+ */
+ public static void main(final String[] args)
+ {
+ long l1 = System.currentTimeMillis();
+ try
+ {
+ final CountDownLatch latch = new CountDownLatch(1);
+
+ Runnable worker = new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ Main.boot(args);
+ latch.countDown();
+ }
+ catch (Exception e)
+ {
+ System.err.println("Failed to boot JBoss JCA:");
+ e.printStackTrace();
+ }
+ }
+ };
+
+ ThreadGroup threads = new ThreadGroup("jboss");
+ Thread bootThread = new Thread(threads, worker, "main");
+ bootThread.start();
+
+ latch.await();
+
+ LifeThread lifeThread = new LifeThread(threads);
+ lifeThread.start();
+
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ @Override
+ public void run()
+ {
+ Main.shutdown();
+ }
+ });
+
+ long l2 = System.currentTimeMillis();
+ System.out.println("Server started in " + (l2 - l1) + "ms");
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace(System.err);
+ }
+ }
+
+ /**
+ * A simple thread that keeps the vm alive in the event there are no
+ * other threads started.
+ */
+ private static class LifeThread extends Thread
+ {
+ private Object lock = new Object();
+
+ LifeThread(ThreadGroup tg)
+ {
+ super(tg, "JBossLifeThread");
+ }
+
+ public void run()
+ {
+ synchronized (lock)
+ {
+ try
+ {
+ lock.wait();
+ }
+ catch (InterruptedException ignore)
+ {
+ }
+ }
+ }
+ }
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/SecurityActions.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/SecurityActions.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/SecurityActions.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Properties;
+
+/**
+ * Privileged Blocks
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+class SecurityActions
+{
+ /**
+ * Constructor
+ */
+ private SecurityActions()
+ {
+ }
+
+ /**
+ * Get the thread context class loader
+ * @return The class loader
+ */
+ static ClassLoader getThreadContextClassLoader()
+ {
+ return (ClassLoader)AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+
+ /**
+ * Set the thread context class loader
+ * @param cl The class loader
+ */
+ static void setThreadContextClassLoader(final ClassLoader cl)
+ {
+ AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ Thread.currentThread().setContextClassLoader(cl);
+ return null;
+ }
+ });
+ }
+
+ /**
+ * Get the system properties
+ * @return The properties
+ */
+ static Properties getSystemProperties()
+ {
+ return (Properties)AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return System.getProperties();
+ }
+ });
+ }
+
+ /**
+ * Get a system property
+ * @param name The property name
+ * @return The property value
+ */
+ static String getSystemProperty(final String name)
+ {
+ return (String)AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return System.getProperty(name);
+ }
+ });
+ }
+
+ /**
+ * Set a system property
+ * @param name The property name
+ * @param value The property value
+ */
+ static void setSystemProperty(final String name, final String value)
+ {
+ AccessController.doPrivileged(new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ System.setProperty(name, value);
+ return null;
+ }
+ });
+ }
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployer.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc.deployers;
+
+import java.io.File;
+
+/**
+ * The deployer interface for JCA/SJC
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public interface Deployer
+{
+ /**
+ * Deploy
+ * @param f The file
+ * @return The deployment; or null if no deployment was made
+ * @exception Exception Thrown if an error occurs
+ */
+ public Deployment deploy(File f) throws Exception;
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployment.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployment.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/Deployment.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc.deployers;
+
+/**
+ * The deployment interface for JCA/SJC
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public interface Deployment
+{
+ /**
+ * Get the name
+ * @return The name
+ */
+ public String getName();
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/RarDeployer.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/RarDeployer.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/RarDeployer.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc.deployers;
+
+import java.io.File;
+
+/**
+ * The RAR deployer for JCA/SJC
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ */
+public class RarDeployer implements Deployer
+{
+ /**
+ * Constructor
+ */
+ public RarDeployer()
+ {
+ }
+
+ /**
+ * Deploy
+ * @param f The file
+ * @return The deployment
+ * @exception Exception Thrown if an error occurs
+ */
+ public Deployment deploy(File f) throws Exception
+ {
+ System.out.println("Deploying: " + f.getAbsolutePath());
+
+ return null;
+ }
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/package.html
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/package.html (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/deployers/package.html 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,3 @@
+<body>
+This package contains the deployer infrastructure for JCA/SJC
+</body>
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/JMX.java
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/JMX.java (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/JMX.java 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.jca.sjc.hack;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+
+/**
+ * JMX.
+ *
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
+ * @version $Revision: $
+ */
+public class JMX
+{
+ // --------------------------------------------------------------------------------||
+ // Class Members ------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ private MBeanServer mbeanServer;
+
+ // --------------------------------------------------------------------------------||
+ // Constructors -------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ */
+ public JMX()
+ {
+ mbeanServer = MBeanServerFactory.createMBeanServer();
+ }
+
+ // --------------------------------------------------------------------------------||
+ // Methods ------------------------------------------------------------------------||
+ // --------------------------------------------------------------------------------||
+
+ /**
+ * Get the MBeanServer
+ * @return The MBeanServer
+ */
+ public MBeanServer getMbeanServer()
+ {
+ return mbeanServer;
+ }
+}
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/package.html
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/package.html (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/hack/package.html 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,3 @@
+<body>
+This package contains classes needed to retrieve specific dependencies.
+</body>
Added: projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/package.html
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/package.html (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/java/org/jboss/jca/sjc/package.html 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,3 @@
+<body>
+This package contains the Simple JCA Container which implements a very limited sub-set of the JBoss Microcontainer.
+</body>
Added: projects/jboss-jca/trunk/sjc/src/main/resources/boot.xml
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/boot.xml (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/boot.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,59 @@
+<deployment>
+
+ <!-- Logging bridge -->
+ <bean name="LogBridgeHandler" class="org.jboss.logbridge.LogBridgeHandler"/>
+
+ <!-- Naming -->
+ <bean name="NamingServer" class="org.jnp.server.SingletonNamingServer"/>
+
+ <!-- JMX -->
+ <bean name="JMX" class="org.jboss.jca.sjc.hack.JMX"/>
+
+ <!-- Transaction manager -->
+ <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jta.TransactionManagerService">
+ <property name="transactionTimeout">300</property>
+ <property name="objectStoreDir">${jboss.jca.home}/tmp/tx-object-store</property>
+ <property name="mbeanServer"><inject bean="JMX" property="mbeanServer"/></property>
+ <property name="transactionStatusManagerInetAddress">localhost</property>
+ <property name="transactionStatusManagerPort">4713</property>
+ <property name="recoveryInetAddress">localhost</property>
+ <property name="recoveryPort">4712</property>
+ <property name="socketProcessIdPort">0</property>
+ </bean>
+
+ <!-- Work Manager thread pool -->
+ <bean name="WorkManagerThreadPool" interface="org.jboss.jca.common.threadpool.ThreadPool" class="org.jboss.jca.common.threadpool.ThreadPoolImpl">
+ <!-- The name that appears in thread names -->
+ <property name="name">WorkManager</property>
+
+ <!-- The maximum amount of work in the queue -->
+ <property name="maximumQueueSize">1024</property>
+
+ <!-- The maximum number of active threads -->
+ <property name="maximumPoolSize">100</property>
+
+ <!-- How long to keep threads alive after their last work (default one minute) -->
+ <property name="keepAliveTime">60000</property>
+ </bean>
+
+ <!-- Work Manager -->
+ <bean name="WorkManager" interface="org.jboss.jca.core.api.WorkManager" class="org.jboss.jca.core.workmanager.WorkManagerImpl">
+ <!-- The thread pool -->
+ <property name="threadPool"><inject bean="WorkManagerThreadPool"/></property>
+
+ <!-- The XA terminator -->
+ <property name="XATerminator"><inject bean="TransactionManager" property="XATerminator"/></property>
+ </bean>
+
+ <!-- Connection Manager -->
+ <bean name="ConnectionManager" interface="org.jboss.jca.core.api.ConnectionManager" class="org.jboss.jca.core.connectionmanager.ConnectionManagerImpl">
+ </bean>
+
+
+ <!-- Deployers -->
+
+ <!-- Rar deployer -->
+ <bean name="RarDeployer" interface="org.jboss.jca.sjc.deployers.Deployer" class="org.jboss.jca.sjc.deployers.RarDeployer">
+ </bean>
+
+</deployment>
Added: projects/jboss-jca/trunk/sjc/src/main/resources/boot.xsd
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/boot.xsd (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/boot.xsd 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Boot XML Schema
+-->
+<xsd:schema xmlns:boot="http://www.jboss.org/jca" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:complexType name="beanType">
+ <xsd:sequence>
+ <xsd:element name="property" type="propertyType" maxOccurs="unbounded" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ <xsd:attribute name="interface" type="xsd:token"/>
+ <xsd:attribute name="class" type="xsd:token" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="propertyType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="inject" type="injectType" maxOccurs="1" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ <xsd:attribute name="class" type="xsd:token"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="injectType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+ <xsd:attribute name="bean" type="xsd:token" use="required"/>
+ <xsd:attribute name="property" type="xsd:token"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:element name="deployment">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="bean" type="beanType" maxOccurs="unbounded" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
Added: projects/jboss-jca/trunk/sjc/src/main/resources/jndi.properties
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/jndi.properties (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/jndi.properties 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,2 @@
+java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
Added: projects/jboss-jca/trunk/sjc/src/main/resources/log4j.xml
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/log4j.xml (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/log4j.xml 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: jboss-log4j.xml 86230 2009-03-23 21:13:05Z bstansberry at jboss.com $ -->
+
+<!--
+ | For more configuration information and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A time/date based rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="${jboss.jca.home}/log/server.log"/>
+ <param name="Append" value="true"/>
+ <!-- In AS 5.0.x the server log threshold was set by a system
+ property. In 5.1 and later we are instead using the system
+ property to set the priority on the root logger (see <root/> below)
+ <param name="Threshold" value="${jboss.server.log.threshold}"/>
+ -->
+
+ <!-- Rollover at midnight each day -->
+ <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+ <!-- Rollover at the top of each hour
+ <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+ -->
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] (Thread) Message\n -->
+ <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
+
+ <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+ <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+ -->
+ </layout>
+ </appender>
+
+ <!-- A size based file rolling appender
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="${jboss.server.log.dir}/server.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+ <param name="Threshold" value="INFO"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ====================== -->
+ <!-- More Appender examples -->
+ <!-- ====================== -->
+
+ <!-- Buffer events and log them asynchronously
+ <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <appender-ref ref="FILE"/>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="SMTP"/>
+ </appender>
+ -->
+
+ <!-- EMail events to an administrator
+ <appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Threshold" value="ERROR"/>
+ <param name="To" value="admin at myhost.domain.com"/>
+ <param name="From" value="nobody at myhost.domain.com"/>
+ <param name="Subject" value="JBoss Sever Errors"/>
+ <param name="SMTPHost" value="localhost"/>
+ <param name="BufferSize" value="10"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- Syslog events
+ <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Facility" value="LOCAL7"/>
+ <param name="FacilityPrinting" value="true"/>
+ <param name="SyslogHost" value="localhost"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- Log events to JMS (requires a topic to be created)
+ <appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Threshold" value="ERROR"/>
+ <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
+ <param name="TopicBindingName" value="topic/MyErrorsTopic"/>
+ </appender>
+ -->
+
+ <!-- Log events through SNMP
+ <appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="ImplementationClassName" value="org.apache.log4j.ext.JoeSNMPTrapSender"/>
+ <param name="ManagementHost" value="127.0.0.1"/>
+ <param name="ManagementHostTrapListenPort" value="162"/>
+ <param name="EnterpriseOID" value="1.3.6.1.4.1.24.0"/>
+ <param name="LocalIPAddress" value="127.0.0.1"/>
+ <param name="LocalTrapSendPort" value="161"/>
+ <param name="GenericTrapType" value="6"/>
+ <param name="SpecificTrapType" value="12345678"/>
+ <param name="CommunityString" value="public"/>
+ <param name="ForwardStackTraceWithTrap" value="true"/>
+ <param name="Threshold" value="DEBUG"/>
+ <param name="ApplicationTrapOID" value="1.3.6.1.4.1.24.12.10.22.64"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d,%p,[%t],[%c],%m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- Emit events as JMX notifications
+ <appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+
+ <param name="Threshold" value="WARN"/>
+ <param name="ObjectName" value="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%c] %m"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- Security AUDIT Appender
+ <appender name="AUDIT" class="org.jboss.logging.appender.DailyRollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="${jboss.server.log.dir}/audit.log"/>
+ <param name="Append" value="true"/>
+ <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%c] (%t:%x) %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+ <category name="org.apache">
+ <priority value="INFO"/>
+ </category>
+
+ <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+ <category name="jacorb">
+ <priority value="WARN"/>
+ </category>
+
+ <!-- Set the logging level of the JSF implementation that uses
+ | java.util.logging. The jdk logging levels can be controlled
+ | through the org.jboss.logging.log4j.JDKLevel class that
+ | in addition to the standard log4j levels it adds support for
+ | SEVERE, WARNING, CONFIG, FINE, FINER, FINEST
+ -->
+ <category name="javax.enterprise.resource.webcontainer.jsf">
+ <priority value="INFO" class="org.jboss.logging.log4j.JDKLevel"/>
+ </category>
+
+ <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+ <category name="org.jgroups">
+ <priority value="WARN"/>
+ </category>
+
+ <!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
+ <category name="org.quartz">
+ <priority value="INFO"/>
+ </category>
+
+ <!-- Limit JBoss categories
+ <category name="org.jboss">
+ <priority value="INFO"/>
+ </category>
+ -->
+
+ <!-- Limit the JSR77 categories -->
+ <category name="org.jboss.management">
+ <priority value="INFO"/>
+ </category>
+
+ <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+ <category name="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!-- Category specifically for Security Audit Provider
+ <category name="org.jboss.security.audit.providers.LogAuditProvider" additivity="false">
+ <priority value="TRACE"/>
+ <appender-ref ref="AUDIT"/>
+ </category>
+ -->
+
+ <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+ <category name="org.jboss.serial">
+ <priority value="INFO"/>
+ </category>
+
+ <!-- Decrease the priority threshold for the org.jboss.varia category
+ <category name="org.jboss.varia">
+ <priority value="DEBUG"/>
+ </category>
+ -->
+
+ <!-- Enable JBossWS message tracing
+ <category name="org.jboss.ws.core.MessageTrace">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!--
+ | An example of enabling the custom TRACE level priority that is used
+ | by the JBoss internals to diagnose low level details. This example
+ | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+ | subpackages. This will produce A LOT of logging output.
+ |
+ | Note: since jboss AS 4.2.x, the trace level is supported natively by
+ | log4j, so although the custom org.jboss.logging.XLevel priority will
+ | still work, there is no need to use it. The two examples that follow
+ | will both enable trace logging.
+ <category name="org.jboss.system">
+ <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+ </category>
+ <category name="org.jboss.ejb.plugins">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!--
+ | Logs these events to SNMP:
+ - server starts/stops
+ - cluster evolution (node death/startup)
+ - When an EJB archive is deployed (and associated verified messages)
+ - When an EAR archive is deployed
+
+ <category name="org.jboss.system.server.Server">
+ <priority value="INFO" />
+ <appender-ref ref="TRAP_LOG"/>
+ </category>
+
+ <category name="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+ <priority value="INFO" />
+ <appender-ref ref="TRAP_LOG"/>
+ </category>
+
+ <category name="org.jboss.deployment.MainDeployer">
+ <priority value="ERROR" />
+ <appender-ref ref="TRAP_LOG"/>
+ </category>
+
+ <category name="org.jboss.ejb.EJBDeployer">
+ <priority value="INFO" />
+ <appender-ref ref="TRAP_LOG"/>
+ </category>
+
+ <category name="org.jboss.deployment.EARDeployer">
+ <priority value="INFO" />
+ <appender-ref ref="TRAP_LOG"/>
+ </category>
+ -->
+
+ <!-- Clustering logging -->
+ <!-- Uncomment the following to redirect the org.jgroups and
+ org.jboss.ha categories to a cluster.log file.
+
+ <appender name="CLUSTER" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="${jboss.server.log.dir}/cluster.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+ </layout>
+ </appender>
+ <category name="org.jgroups">
+ <priority value="DEBUG" />
+ <appender-ref ref="CLUSTER"/>
+ </category>
+ <category name="org.jboss.ha">
+ <priority value="DEBUG" />
+ <appender-ref ref="CLUSTER"/>
+ </category>
+ -->
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <!--
+ Set the root logger priority via a system property. Note this is parsed by log4j,
+ so the full JBoss system property format is not supported; e.g.
+ setting a default via ${jboss.server.log.threshold:WARN} will not work.
+ -->
+ <priority value="${jboss.server.log.threshold}"/>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Added: projects/jboss-jca/trunk/sjc/src/main/resources/run.sh
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/run.sh (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/run.sh 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,51 @@
+#!/bin/sh
+### ====================================================================== ###
+## ##
+## JBoss JCA Script ##
+## ##
+### ====================================================================== ###
+
+### $Id: $ ###
+
+DIRNAME=`dirname $0`
+
+# Setup JBOSS_JCA_HOME
+if [ "x$JBOSS_JCA_HOME" = "x" ]; then
+ # get the full path (without any relative bits)
+ JBOSS_JCA_HOME=`cd $DIRNAME/..; pwd`
+fi
+export JBOSS_JCA_HOME
+
+# Setup the java endorsed dirs
+JBOSS_JCA_ENDORSED_DIRS="$JBOSS_JCA_HOME/lib/endorsed"
+
+# Setup the JVM
+if [ "x$JAVA" = "x" ]; then
+ if [ "x$JAVA_HOME" != "x" ]; then
+ JAVA="$JAVA_HOME/bin/java"
+ else
+ JAVA="java"
+ fi
+fi
+
+# Setup the JVM options
+JAVA_OPTS="$JAVA_OPTS -Xmx512m"
+
+# Display the environment
+echo "========================================================================="
+echo ""
+echo " JBoss JCA"
+echo ""
+echo " JBOSS_JCA_HOME: $JBOSS_JCA_HOME"
+echo ""
+echo " JAVA: $JAVA"
+echo ""
+echo " JAVA_OPTS: $JAVA_OPTS"
+echo ""
+echo "========================================================================="
+echo ""
+
+# Start JBoss JCA
+"$JAVA" $JAVA_OPTS \
+ -Djava.endorsed.dirs="$JBOSS_JCA_ENDORSED_DIRS" \
+ -jar jboss-jca-sjc.jar
Property changes on: projects/jboss-jca/trunk/sjc/src/main/resources/run.sh
___________________________________________________________________
Name: svn:executable
+ *
Added: projects/jboss-jca/trunk/sjc/src/main/resources/sjc-manifest.mf
===================================================================
--- projects/jboss-jca/trunk/sjc/src/main/resources/sjc-manifest.mf (rev 0)
+++ projects/jboss-jca/trunk/sjc/src/main/resources/sjc-manifest.mf 2009-06-04 20:26:25 UTC (rev 89849)
@@ -0,0 +1,5 @@
+Main-Class: org.jboss.jca.sjc.Main
+Implementation-Title: JBoss JCA SJC
+Implementation-Vendor: Red Hat Middleware LLC
+Implementation-Vendor-Id: org.jboss
+Implementation-Version: 0.1
More information about the jboss-cvs-commits
mailing list