[jboss-cvs] JBossAS SVN: r79747 - in trunk: build and 70 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Oct 20 09:44:11 EDT 2008
Author: dimitris at jboss.org
Date: 2008-10-20 09:44:10 -0400 (Mon, 20 Oct 2008)
New Revision: 79747
Added:
trunk/build/build-old.xml
trunk/build/build-thirdparty-old.xml
trunk/cluster/src/etc/ha-legacy-service.xml
trunk/security/src/etc/schema/
trunk/security/src/etc/schema/security-config_4_0.xsd
trunk/security/src/etc/schema/security-config_4_1.xsd
trunk/security/src/etc/schema/security-config_5_0.xsd
trunk/server/src/etc/conf/default/jboss-minimal.xml
trunk/testsuite/src/resources/cluster/ejb2/passexp/partition-passexp-service.xml
trunk/testsuite/src/resources/cluster/partition/partition-restart-service.xml
trunk/testsuite/src/resources/test-configs/web-profile/conf/
trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml
trunk/tomcat/src/webapps/ROOT.war/jboss.css
trunk/tomcat/src/webapps/ROOT.war/logo.gif
trunk/tools/lib/buildmagic-tasks.jar
Removed:
trunk/cluster/src/etc/ha-legacy-jboss-beans.xml
trunk/management/src/main/org/jboss/management/j2ee/deployers/
trunk/security/src/etc/schema/security-config_4_0.xsd
trunk/security/src/etc/schema/security-config_4_1.xsd
trunk/security/src/etc/schema/security-config_5_0.xsd
trunk/server/src/etc/conf/default/xmdesc/Main-xmbean.xml
trunk/server/src/etc/deploy-minimal/
trunk/server/src/etc/deploy/legacy-conf-service.xml
trunk/server/src/etc/deploy/naming-jboss-beans.xml
trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml
trunk/spring-int/src/main/org/jboss/spring/cluster/
trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ClusteredSessionNotificationPolicyTestCase.java
trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ReplicationToPassivatedSessionUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/InvalidateSessionRequestHandler.java
trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/RemoveAttributesRequestHandler.java
trunk/testsuite/src/main/org/jboss/test/cluster/web/notification/
trunk/testsuite/src/main/org/jboss/test/spring/cluster/
trunk/testsuite/src/main/org/jboss/test/spring/test/AbstractSpringTest.java
trunk/testsuite/src/main/org/jboss/test/spring/test/SpringClusterTestCase.java
trunk/testsuite/src/resources/spring/cluster/
trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml
trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossScanningInjectionProvider.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/notification/
trunk/tomcat/src/webapps/ROOT.war/css/
trunk/tomcat/src/webapps/ROOT.war/images/
trunk/tools/lib-ext/
Modified:
trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java
trunk/build/build-distr.xml
trunk/build/build.xml
trunk/cluster/src/etc/hajndi-jboss-beans.xml
trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java
trunk/cluster/src/main/org/jboss/ha/jndi/HAJNDI.java
trunk/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
trunk/component-matrix/pom.xml
trunk/console/src/main/org/jboss/console/plugins/MonitorLister.java
trunk/management/build.xml
trunk/management/pom.xml
trunk/management/src/main/org/jboss/management/j2ee/WebModule.java
trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java
trunk/profileservice/src/main/org/jboss/profileservice/management/upload/DeploymentProgressImpl.java
trunk/profileservice/src/main/org/jboss/profileservice/management/upload/SerializableDeploymentID.java
trunk/security/build.xml
trunk/server/src/etc/conf/default/bindings.xml
trunk/server/src/etc/conf/default/jboss-service.xml
trunk/server/src/etc/conf/default/xmdesc/NamingService-xmbean.xml
trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyItem.java
trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyMetaData.java
trunk/server/src/main/org/jboss/ejb/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java
trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java
trunk/server/src/main/org/jboss/invocation/jrmp/server/JRMPInvoker.java
trunk/server/src/main/org/jboss/naming/NamingService.java
trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java
trunk/spring-int/.classpath
trunk/spring-int/build.xml
trunk/spring-int/pom.xml
trunk/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java
trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceDependencyValueMetaData.java
trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java
trunk/testsuite/.classpath
trunk/testsuite/build.xml
trunk/testsuite/imports/sections/cluster.xml
trunk/testsuite/imports/sections/spring.xml
trunk/testsuite/imports/server-config.xml
trunk/testsuite/src/main/org/jboss/test/classloader/scoping/naming/service/BindingService.java
trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/PartitionRestartUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java
trunk/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java
trunk/testsuite/src/main/org/jboss/test/cluster/web/jvmroute/MockSession.java
trunk/testsuite/src/main/org/jboss/test/jbossmessaging/JBossMessagingAdmin.java
trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/naming/restart/ObjectBinder.java
trunk/testsuite/src/main/org/jboss/test/naming/restart/RestartNamingService.java
trunk/testsuite/src/main/org/jboss/test/naming/test/SecurityUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/naming/test/SimpleUnitTestCase.java
trunk/testsuite/src/main/org/jboss/test/spring/test/SpringStandaloneTestCase.java
trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-jboss-beans.xml
trunk/testsuite/src/resources/cluster/partition/partition-restart-jboss-beans.xml
trunk/testsuite/src/resources/naming/restart/naming-restart-jboss-beans.xml
trunk/testsuite/src/resources/naming/services/pooled-service.xml
trunk/testsuite/src/resources/security/jaspi/jaspi-web-basic.war/WEB-INF/jboss-web.xml
trunk/testsuite/src/resources/security/jaspi/jaspi-web-form.war/WEB-INF/jboss-web.xml
trunk/testsuite/src/resources/test-configs/tomcat-webctx/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml
trunk/testsuite/src/resources/web/federation/authext/war-deployers-jboss-beans.xml
trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossDelegatingInjectionProvider.java
trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ContextXMLObjectModelFactory.java
trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ServerXMLObjectModelFactory.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/StatusServlet.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatService.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/ClusteredSession.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheClusteredSession.java
trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheManager.java
trunk/tomcat/src/webapps/ROOT.war/WEB-INF/web.xml
trunk/tomcat/src/webapps/ROOT.war/index.html
trunk/tools/etc/buildmagic/buildmagic.ent
trunk/tools/etc/buildmagic/libraries.ent
trunk/varia/src/resources/services/invoker/http/web.xml
trunk/varia/src/resources/services/invoker/httpha/web.xml
trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
trunk/webservices/src/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml
trunk/webservices/src/scripts/jbossws-deploy-macros.xml
Log:
rollback to r79434
Modified: trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/AOPClassLoaderDeployer.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -23,6 +23,9 @@
import org.jboss.aop.AspectManager;
import org.jboss.aop.Domain;
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloading.spi.dependency.Module;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
@@ -60,9 +63,11 @@
{
//Scoped AOP deployments are only available when deployed as part of a scoped sar, ear etc.
//It can contain an aop.xml file, or it can be part of a .aop file
+ //Linking a standalone -aop.xml file onto a scoped deployment is not possible at the moment
+ VFSClassLoaderScopingPolicy policy = (VFSClassLoaderScopingPolicy)AspectManager.getClassLoaderScopingPolicy();
AspectManager manager = aspectManager;
- Domain domain = AOPClassLoaderInitializer.initializeForUnit(unit);
+ Domain domain = initializeDomain(policy, unit);
if (domain != null)
{
manager = domain;
@@ -74,9 +79,82 @@
@Override
public void internalUndeploy(DeploymentUnit unit)
{
- AOPClassLoaderInitializer.unregisterLoaders(aspectManager, unit);
+ if (unit.getTopLevel() == unit)
+ {
+ aspectManager.unregisterClassLoader(unit.getClassLoader());
+ }
}
-
-
+ private Domain initializeDomain(VFSClassLoaderScopingPolicy policy, DeploymentUnit unit)
+ {
+ Module module = unit.getTopLevel().getAttachment(Module.class);
+ ClassLoader loader = unit.getClassLoader();
+ ClassLoader topLoader = unit.getTopLevel().getClassLoader();
+
+// System.out.println("====> DEPLOYMENT: " + unit);
+// System.out.println("====> Loader: " + loader);
+// System.out.println("====> Top Loader: " + topLoader);
+// System.out.println("====> Loader Parent: " + loader.getParent());
+//
+//
+ VFSClassLoaderDomainRegistry registry = policy.getRegistry();
+
+ boolean isWar = unit.isAttachmentPresent("org.jboss.metadata.web.jboss.JBossWebMetaData");
+
+ if (isWar && loader != topLoader)
+ {
+ ScopedVFSClassLoaderDomain scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(loader);
+ if (scopedDomain == null)
+ {
+ scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(topLoader);
+ }
+
+ if (scopedDomain != null)
+ {
+ registry.initMapsForLoader(loader, module, scopedDomain);
+ }
+
+ policy.registerClassLoader(module, isWar, loader);
+
+ return scopedDomain;
+ }
+ else
+ {
+ ScopedVFSClassLoaderDomain scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(loader);
+ if (scopedDomain == null)
+ {
+ if (!module.getDeterminedDomainName().equals(ClassLoaderSystem.DEFAULT_DOMAIN_NAME))
+ {
+ ClassLoaderSystem system = ClassLoaderSystem.getInstance();
+ String domainName = module.getDeterminedDomainName();
+ ClassLoaderDomain domain = system.getDomain(domainName);
+
+ boolean parentDelegation = module.isJ2seClassLoadingCompliance();
+ String name = String.valueOf(System.identityHashCode(loader));
+
+ scopedDomain = new ScopedVFSClassLoaderDomain(loader, name, parentDelegation, AspectManager.getTopLevelAspectManager(), false, domain, registry);
+ }
+
+ registry.initMapsForLoader(loader, module, scopedDomain);
+
+ policy.registerClassLoader(module, isWar, loader);
+ }
+ return scopedDomain;
+ }
+ }
+
+// private void registerParentLoaders(DeploymentUnit unit)
+// {
+// ClassLoader childLoader = unit.getClassLoader();
+// DeploymentUnit parent = unit.getParent();
+// while (parent != null)
+// {
+// ClassLoader parentLoader = parent.getClassLoader();
+// if (parentLoader != childLoader)
+// {
+//
+// }
+// parent = unit.getParent();
+// }
+// }
}
Modified: trunk/build/build-distr.xml
===================================================================
--- trunk/build/build-distr.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/build/build-distr.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1001,7 +1001,7 @@
<include name="cluster-jboss-beans.xml"/>
<include name="deploy-hasingleton-jboss-beans.xml"/>
<include name="hajndi-jboss-beans.xml"/>
- <include name="ha-legacy-jboss-beans.xml"/>
+ <include name="ha-legacy-service.xml"/>
</fileset>
</copy>
<mkdir dir="${install.server}/all/deploy/cluster/jgroups-channelfactory.sar"/>
@@ -1170,6 +1170,10 @@
</fileset>
</copy>
+ <!-- Include the HTTP invoker service unpacked -->
+ <mkdir dir="${install.server}/all/deploy/httpha-invoker.sar"/>
+ <unjar src="${_module.output}/lib/httpha-invoker.sar" dest="${install.server}/all/deploy/httpha-invoker.sar"/>
+
<!-- copy the ant jmx client -->
<mkdir dir="${install.client}"/>
<copy todir="${install.client}" filtering="no">
@@ -1601,7 +1605,7 @@
<unzip dest="${install.all.deployers}/jbossws.deployer" src="${_module.output}/lib/jbossws-jboss50-deployer.zip"/>
<!-- Copy jbossws container beans to deploy directory -->
- <copy todir="${install.all.deployers}/jbossws.deployer/META-INF" file="${_module.output}/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml"/>
+ <copy todir="${install.all}/deploy" file="${_module.output}/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml"/>
<delete dir="${_module.output}/jbossws-native-resources"/>
<mkdir dir="${_module.output}/jbossws-native-resources"/>
@@ -1616,6 +1620,9 @@
<property name="jbossid" value="jboss501"/>
</ant>
+ <!-- FIXME JBAS-5811 -->
+ <delete file="${install.all.deployers}/jbossws.deployer/META-INF/jbossws-deployer-beans.xml"/>
+
</target>
<target name="_module-webservices-all" depends="_module-webservices-most">
Copied: trunk/build/build-old.xml (from rev 79434, trunk/build/build-old.xml)
===================================================================
--- trunk/build/build-old.xml (rev 0)
+++ trunk/build/build-old.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,976 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE project [
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildmagic/buildmagic.ent">
+]>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<project default="main" name="JBoss/Build">
+
+ <!-- ================================================================== -->
+ <!-- Setup -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Include the common Buildmagic elements.
+ |
+ | This defines several different targets, properties and paths.
+ | It also sets up the basic extention tasks amoung other things.
+ -->
+
+ &buildmagic;
+
+
+ <!-- ================================================================== -->
+ <!-- Initialization -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Initialize the build system. Must depend on '_buildmagic:init'.
+ | Other targets should depend on 'init' or things will mysteriously fail.
+ -->
+
+ <target name="init" unless="init.disable" depends="_buildmagic:init">
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Configuration -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Configure the build system.
+ |
+ | This target is invoked by the Buildmagic initialization logic and
+ | should contain module specific configuration elements.
+ -->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- =================== -->
+ <!-- Basic Configuration -->
+ <!-- =================== -->
+
+ <!-- Module name(s) & version -->
+ <property name="module.name" value="jboss"/>
+ <property name="module.Name" value="JBoss Build"/>
+ <property name="module.version" value="${version.major}.${version.minor}.${version.revision}.${version.tag}"/>
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ </path>
+
+ <!-- ============== -->
+ <!-- Modules/Groups -->
+ <!-- ============== -->
+
+ <!-- The group to use by default -->
+ <property name="groups" value="default"/>
+
+
+ <!-- Sets up the module configuration. -->
+ <moduleconfig property="modules" selected="${groups}">
+
+ <!-- Modules -->
+ <module name="aspects"/>
+ <module name="bootstrap"/>
+ <module name="cluster"/>
+ <module name="connector"/>
+ <module name="console"/>
+ <module name="deployment"/>
+ <module name="ejb3"/>
+ <module name="embedded"/>
+ <module name="hibernate-int"/>
+ <module name="iiop"/>
+ <module name="j2se"/>
+ <module name="jmx"/>
+ <module name="main"/>
+ <module name="management"/>
+ <module name="mbeans"/>
+ <module name="messaging"/>
+ <module name="jbossmq"/>
+ <module name="jbossas/remoting"/>
+ <module name="jmx-remoting"/>
+ <module name="jbossas/jmx-remoting"/>
+ <module name="profileservice"/>
+ <module name="security"/>
+ <module name="server"/>
+ <module name="spring-int"/>
+ <module name="system"/>
+ <module name="system-jmx"/>
+ <module name="testsuite"/>
+ <module name="tomcat"/>
+ <module name="varia"/>
+ <module name="webservices"/>
+
+ <!-- Module groups -->
+
+ <!--this lets you recompile a single module using a command line like
+./build.sh -emacs -Dgroups=single -Dsingle-module=server
+ -->
+ <group name="single">
+ <include modules="${single-module}"/>
+ </group>
+
+ <group name="core">
+ <include modules="main, bootstrap, j2se, mbeans, jmx, system, system-jmx"/>
+ </group>
+
+ <group name="basic">
+ <include modules="security,
+ server,
+ deployment" />
+
+ </group>
+
+ <group name="standard">
+ <include modules="jbossas/remoting,
+ jmx-remoting,
+ jbossas/jmx-remoting,
+ messaging,
+ jbossmq,
+ cluster,
+ varia,
+ iiop,
+ aspects,
+ profileservice,
+ connector,
+ management,
+ ejb3,
+ tomcat,
+ webservices,
+ hibernate-int,
+ console,
+ spring-int
+ "/>
+ </group>
+
+ <group name="optional">
+ <include modules="embedded
+ "/>
+ </group>
+
+ <!-- Module group sets -->
+
+ <group name="default">
+ <include groups="core, basic, standard"/>
+ </group>
+
+ <group name="most">
+ <include groups="core, basic, standard"/>
+ </group>
+
+ <group name="all">
+ <include groups="core, basic, standard, optional"/>
+ </group>
+
+ </moduleconfig>
+
+ <!-- Show the module configuration -->
+ <echo>groups: ${groups}</echo>
+ <echo>modules: ${modules}</echo>
+
+ <!-- The combined dependent module classpath -->
+ <path id="dependentmodule.classpath">
+ </path>
+
+ <!-- ===== -->
+ <!-- Tasks -->
+ <!-- ===== -->
+
+ <!-- Skip any missing modules and issue a warning -->
+ <property name="executemodules.skipmissing" value="true"/>
+
+ <!-- The header and footer displayed during each module execution -->
+ <property name="executemodules.header"><![CDATA[
+ ======================================================================
+ == Executing '${target}' in module '${module}'...
+ ==]]></property>
+
+ <property name="executemodules.footer"><![CDATA[
+ ==
+ == Finished with '${target}' in module '${module}'.
+ ======================================================================
+ ]]></property>
+
+ <property name="executemodules.exportproperties">
+ version.major,
+ version.minor,
+ version.revision,
+ version.tag,
+ version.name,
+ version.cvstag,
+
+ specification.title,
+ specification.version,
+ specification.vendor,
+
+ implementation.title,
+ implementation.version,
+ implementation.vendor,
+ implementation.vendor.id,
+ implementation.url
+ </property>
+
+ <!-- Install/Release structure -->
+ <property name="install.id" value="${module.name}-${module.version}"/>
+ <property name="release.id" value="${install.id}"/>
+
+ <property name="install.root" value="${module.output}/${install.id}"/>
+
+ <property name="install.docs" value="${install.root}/docs"/>
+ <property name="install.api" value="${install.docs}/api"/>
+ <property name="install.jmx-api" value="${install.docs}/jmx-api"/>
+ <property name="install.todo" value="${install.docs}/todo"/>
+ <property name="install.examples" value="${install.docs}/examples"/>
+ <property name="install.examples.jca" value="${install.docs}/examples/jca"/>
+ <property name="install.examples.jms" value="${install.docs}/examples/jms"/>
+ <property name="install.examples.jbossweb" value="${install.examples}/jbossweb"/>
+ <property name="install.examples.netboot" value="${install.examples}/netboot"/>
+ <property name="install.examples.binding-manager" value="${install.examples}/binding-manager"/>
+ <property name="install.examples.varia" value="${install.examples}/varia"/>
+ <property name="install.dtd" value="${install.docs}/dtd"/>
+ <property name="install.schema" value="${install.docs}/schema"/>
+
+ <property name="install.bin" value="${install.root}/bin"/>
+ <property name="install.etc" value="${install.root}/etc"/>
+ <property name="install.client" value="${install.root}/client"/>
+ <property name="install.lib" value="${install.root}/lib"/>
+
+ <property name="install.server" value="${install.root}/server"/>
+ <property name="install.all" value="${install.server}/all"/>
+ <property name="install.all.lib" value="${install.all}/lib"/>
+ <property name="install.all.deploy" value="${install.all}/deploy"/>
+ <property name="install.all.deployers" value="${install.all}/deployers"/>
+ <property name="install.all.conf" value="${install.all}/conf"/>
+ <property name="install.all.deploy.hasingleton" value="${install.all}/deploy-hasingleton"/>
+
+ <property name="install.default" value="${install.server}/default"/>
+ <property name="install.default.lib" value="${install.default}/lib"/>
+ <property name="install.default.deploy" value="${install.default}/deploy"/>
+ <property name="install.default.deployers" value="${install.default}/deployers"/>
+ <property name="install.default.conf" value="${install.default}/conf"/>
+
+ <property name="install.minimal" value="${install.server}/minimal"/>
+ <property name="install.minimal.lib" value="${install.minimal}/lib"/>
+ <property name="install.minimal.deploy" value="${install.minimal}/deploy"/>
+ <property name="install.minimal.deployers" value="${install.minimal}/deployers"/>
+ <property name="install.minimal.conf" value="${install.minimal}/conf"/>
+
+ <!-- Configuration for the nightly build and test job -->
+ <property name="run.nightly.sleep" value="1"/> <!-- 1 minute -->
+ <property name="run.nightly.email.tolist" value="jboss-development at lists.sourceforge.net"/>
+ <property name="run.nightly.email.from" value="noreply at jboss.org"/>
+ <property name="run.nightly.email.mailhost" value="localhost"/>
+ <property name="run.home.dir" value="${module.output}/${release.id}" />
+ <property name="run.bin.dir" value="${run.home.dir}/bin" />
+
+ <!-- Bits for building source archives -->
+ <patternset id="source.ignore">
+ <exclude name="**/output/**"/>
+ <exclude name="**/CVS/**" />
+ </patternset>
+ <patternset id="source.free">
+ <exclude name="tools/**"/>
+ <exclude name="thirdparty/**"/>
+ <include name="**"/>
+ </patternset>
+ <patternset id="source.external">
+ <include name="tools/**"/>
+ <include name="thirdparty/**"/>
+ </patternset>
+</target>
+
+ <!-- ================================================================== -->
+ <!-- Module Pass-through Targets -->
+ <!-- ================================================================== -->
+
+ <!--
+ | These targets will execute all configured modules with the specified
+ | target.
+ -->
+
+ <target name="modules-all" depends="_buildmagic:modules:all">
+ <antcall target="thirdparty"/>
+ </target>
+ <target name="modules-most" depends="_buildmagic:modules:most">
+ <antcall target="thirdparty"/>
+ </target>
+ <target name="modules-main" depends="_buildmagic:modules:main"/>
+ <target name="modules-release" depends="_buildmagic:modules:release"/>
+ <target name="modules-tests" depends="_buildmagic:modules:tests"/>
+ <target name="modules-clean" depends="_buildmagic:modules:clean"/>
+ <target name="modules-clobber" depends="_buildmagic:modules:clobber"/>
+ <target name="modules-docs" depends="_buildmagic:modules:docs"/>
+
+ <!-- ================================================================== -->
+ <!-- Module Pass-through Hooks -->
+ <!-- ================================================================== -->
+
+ <!--
+ | These hooks are executed after the above pass-through targets have
+ | finished with a given module.
+ -->
+
+ <!-- ======== -->
+ <!-- Test -->
+ <!-- ======== -->
+
+ <target name="_module-test-most">
+ <ant antfile="build-distr.xml" target="_module-test-most"/>
+ </target>
+
+ <target name="_module-test-all" depends="_module-test-most">
+ <ant antfile="build-distr.xml" target="_module-test-all"/>
+ </target>
+
+ <!-- ======== -->
+ <!-- Remoting -->
+ <!-- ======== -->
+
+ <target name="_module-jbossas/remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jbossas/remoting-most"/>
+ </target>
+
+ <target name="_module-remoting-all" depends="_module-jbossas/remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jbossas/remoting-all"/>
+ </target>
+
+ <!-- ============ -->
+ <!-- JMX Remoting -->
+ <!-- ============ -->
+
+ <target name="_module-jmx-remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jmx-remoting-most"/>
+ </target>
+
+ <target name="_module-jmx-remoting-all" depends="_module-jmx-remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jmx-remoting-all"/>
+ </target>
+
+ <target name="_module-jbossas/jmx-remoting-all" depends="_module-jbossas/jmx-remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jbossas/jmx-remoting-all"/>
+ </target>
+
+ <target name="_module-jbossas/jmx-remoting-most">
+ <ant antfile="build-distr.xml" target="_module-jbossas/jmx-remoting-most"/>
+ </target>
+
+ <!-- ======== -->
+ <!-- EJB 3.0 -->
+ <!-- ======== -->
+
+ <target name="_module-ejb3-most">
+ <ant antfile="build-distr.xml" target="_module-ejb3-most"/>
+ </target>
+
+ <target name="_module-ejb3-all" depends="_module-ejb3-most">
+ <ant antfile="build-distr.xml" target="_module-ejb3-all"/>
+ </target>
+
+ <!-- ======== -->
+ <!-- EJB3X -->
+ <!-- ======== -->
+
+<!--
+ <target name="_module-ejb3x-most">
+ <ant antfile="build-distr.xml" target="_module-ejb3x-most"/>
+ </target>
+-->
+
+ <!-- ======== -->
+ <!-- ASPECTS -->
+ <!-- ======== -->
+
+ <target name="_module-aspects-most">
+ <ant antfile="build-distr.xml" target="_module-aspects-most"/>
+ </target>
+
+ <target name="_module-aspects-all" depends="_module-aspects-most">
+ <ant antfile="build-distr.xml" target="_module-aspects-all"/>
+ </target>
+
+ <!-- ==== -->
+ <!-- J2EE -->
+ <!-- ==== -->
+
+<!--
+ <target name="_module-j2ee-most">
+ <ant antfile="build-distr.xml" target="_module-j2ee-most"/>
+ </target>
+
+ <target name="_module-j2ee-all" depends="_module-j2ee-most">
+ <ant antfile="build-distr.xml" target="_module-j2ee-all"/>
+ </target>
+-->
+
+ <!-- ==== -->
+ <!-- Main -->
+ <!-- ==== -->
+
+ <target name="_module-main-most">
+ <ant antfile="build-distr.xml" target="_module-main-most"/>
+ </target>
+
+ <target name="_module-main-all" depends="_module-main-most">
+ <ant antfile="build-distr.xml" target="_module-main-all"/>
+ </target>
+
+ <!-- ========= -->
+ <!-- Bootstrap -->
+ <!-- ========= -->
+
+ <target name="_module-bootstrap-most">
+ <ant antfile="build-distr.xml" target="_module-bootstrap-most"/>
+ </target>
+
+ <target name="_module-bootstrap-all" depends="_module-bootstrap-most">
+ <ant antfile="build-distr.xml" target="_module-bootstrap-all"/>
+ </target>
+
+ <!-- ====== -->
+ <!-- System -->
+ <!-- ====== -->
+
+ <target name="_module-system-most">
+ <ant antfile="build-distr.xml" target="_module-system-most"/>
+ </target>
+
+ <target name="_module-system-all" depends="_module-system-most">
+ <ant antfile="build-distr.xml" target="_module-system-all"/>
+ </target>
+ <target name="_module-system-jmx-most">
+ <ant antfile="build-distr.xml" target="_module-system-jmx-most"/>
+ </target>
+
+ <target name="_module-system-jmx-all" depends="_module-system-jmx-most">
+ <ant antfile="build-distr.xml" target="_module-system-jmx-all"/>
+ </target>
+
+ <!-- ====== -->
+ <!-- Server -->
+ <!-- ====== -->
+
+ <target name="_module-server-most">
+ <ant antfile="build-distr.xml" target="_module-server-most"/>
+ </target>
+
+ <target name="_module-server-all" depends="_module-server-most">
+ <ant antfile="build-distr.xml" target="_module-server-all"/>
+ </target>
+
+ <!-- ========= -->
+ <!-- Connector -->
+ <!-- ========= -->
+
+ <target name="_module-connector-most">
+ <ant antfile="build-distr.xml" target="_module-connector-most"/>
+ </target>
+
+ <target name="_module-connector-all" depends="_module-connector-most">
+ <ant antfile="build-distr.xml" target="_module-connector-all"/>
+ </target>
+
+ <!-- ========= -->
+ <!-- Messaging -->
+ <!-- ========= -->
+
+ <target name="_module-messaging-most">
+ <ant antfile="build-distr.xml" target="_module-messaging-most"/>
+ </target>
+
+ <target name="_module-messaging-all" depends="_module-messaging-most">
+ <ant antfile="build-distr.xml" target="_module-messaging-all"/>
+ </target>
+
+
+ <!-- ==== -->
+ <!-- J2SE -->
+ <!-- ==== -->
+
+ <target name="_module-j2se-most">
+ <ant antfile="build-distr.xml" target="_module-j2se-most"/>
+ </target>
+
+ <target name="_module-j2se-all" depends="_module-j2se-most">
+ <ant antfile="build-distr.xml" target="_module-j2se-all"/>
+ </target>
+
+ <!-- ====== -->
+ <!-- MBeans -->
+ <!-- ====== -->
+
+ <target name="_module-mbeans-most">
+ <ant antfile="build-distr.xml" target="_module-mbeans-most"/>
+ </target>
+
+ <target name="_module-mbeans-all" depends="_module-mbeans-most">
+ <ant antfile="build-distr.xml" target="_module-mbeans-most"/>
+ </target>
+
+ <!-- === -->
+ <!-- JMX -->
+ <!-- === -->
+
+ <target name="_module-jmx-most">
+ <ant antfile="build-distr.xml" target="_module-jmx-most"/>
+ </target>
+
+ <target name="_module-jmx-all" depends="_module-jmx-most">
+ <ant antfile="build-distr.xml" target="_module-jmx-all"/>
+ </target>
+
+ <!-- ======== -->
+ <!-- Security -->
+ <!-- ======== -->
+
+ <target name="_module-security-most">
+ <ant antfile="build-distr.xml" target="_module-security-most"/>
+ </target>
+
+ <target name="_module-security-all" depends="_module-security-most">
+ <ant antfile="build-distr.xml" target="_module-security-all"/>
+ </target>
+
+ <!-- ======= -->
+ <!-- Cluster -->
+ <!-- ======= -->
+
+ <target name="_module-cluster-most">
+ <ant antfile="build-distr.xml" target="_module-cluster-most"/>
+ </target>
+
+ <target name="_module-cluster-all" depends="_module-cluster-most">
+ <ant antfile="build-distr.xml" target="_module-cluster-all"/>
+ </target>
+
+ <!-- ===== -->
+ <!-- Varia -->
+ <!-- ===== -->
+
+ <target name="_module-varia-most">
+ <ant antfile="build-distr.xml" target="_module-varia-most"/>
+ </target>
+
+ <target name="_module-varia-all" depends="_module-varia-most">
+ <ant antfile="build-distr.xml" target="_module-varia-all"/>
+ </target>
+
+ <!-- ===== -->
+ <!-- Tomcat5.5.x -->
+ <!-- ===== -->
+
+ <target name="_module-tomcat-most">
+ <ant antfile="build-distr.xml" target="_module-tomcat-most"/>
+ </target>
+
+ <target name="_module-tomcat-all" depends="_module-tomcat-most">
+ <ant antfile="build-distr.xml" target="_module-tomcat-all"/>
+ </target>
+
+
+ <!-- ==== -->
+ <!-- IIOP -->
+ <!-- ==== -->
+
+ <target name="_module-iiop-most">
+ <ant antfile="build-distr.xml" target="_module-iiop-most"/>
+ </target>
+
+ <target name="_module-iiop-all" depends="_module-iiop-most">
+ <ant antfile="build-distr.xml" target="_module-iiop-all"/>
+ </target>
+
+ <!-- ========== -->
+ <!-- Management -->
+ <!-- ========== -->
+
+ <target name="_module-management-most">
+ <ant antfile="build-distr.xml" target="_module-management-most"/>
+ </target>
+
+ <target name="_module-management-all" depends="_module-management-most">
+ <ant antfile="build-distr.xml" target="_module-management-all"/>
+ </target>
+
+ <!-- ======= -->
+ <!-- Console -->
+ <!-- ======= -->
+
+ <target name="_module-console-most">
+ <ant antfile="build-distr.xml" target="_module-console-most"/>
+ </target>
+
+ <target name="_module-console-all" depends="_module-console-most">
+ <ant antfile="build-distr.xml" target="_module-console-all"/>
+ </target>
+
+
+
+
+
+ <!-- ========== -->
+ <!-- Deployment -->
+ <!-- ========== -->
+
+ <target name="_module-deployment-most">
+ <ant antfile="build-distr.xml" target="_module-deployment-most"/>
+ </target>
+
+ <target name="_module-deployment-all" depends="_module-deployment-most">
+ <ant antfile="build-distr.xml" target="_module-deployment-all"/>
+ </target>
+
+ <!-- =========== -->
+ <!-- Webservices -->
+ <!-- =========== -->
+
+ <target name="_module-webservices-most">
+ <ant antfile="build-distr.xml" target="_module-webservices-most"/>
+ </target>
+
+ <target name="_module-webservices-all" depends="_module-webservices-most">
+ <ant antfile="build-distr.xml" target="_module-webservices-all"/>
+ </target>
+
+ <!-- ============ -->
+ <!-- Hibernate -->
+ <!-- ============ -->
+
+ <target name="_module-hibernate-int-most">
+ <ant antfile="build-distr.xml" target="_module-hibernate-int-most"/>
+ </target>
+
+ <target name="_module-hibernate-int-all" depends="_module-hibernate-int-most">
+ <ant antfile="build-distr.xml" target="_module-hibernate-int-all"/>
+ </target>
+
+ <!-- ============ -->
+ <!-- ProfileService -->
+ <!-- ============ -->
+
+ <target name="_module-profileservice-most">
+ <ant antfile="build-distr.xml" target="_module-profileservice-most"/>
+ </target>
+
+ <target name="_module-profileservice-all">
+ <ant antfile="build-distr.xml" target="_module-profileservice-most"/>
+ </target>
+
+ <!-- ============ -->
+ <!-- Spring -->
+ <!-- ============ -->
+
+ <target name="_module-spring-int-most">
+ <ant antfile="build-distr.xml" target="_module-spring-int-most"/>
+ </target>
+
+ <target name="_module-spring-int-all" depends="_module-spring-int-most">
+ <ant antfile="build-distr.xml" target="_module-spring-int-all"/>
+ </target>
+
+ <target name="thirdparty">
+ <ant antfile="build-distr.xml" target="thirdparty"/>
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Install & Release -->
+ <!-- ================================================================== -->
+
+ <target name="install"
+ description="Install the structure for a release."
+ depends="partition-build"
+ />
+
+ <!-- Partition the default single configuration build into a minimal,
+ default and all configs with a minimal set of jars in the root lib dir.
+ -->
+ <target name="partition-build" depends="init">
+
+ <!-- Copy server/all to server/default and then remove the services and
+ jars outside of the scope of the default config -->
+ <copy todir="${install.default}">
+ <fileset dir="${install.all}">
+ <exclude name="data/**"/>
+ <exclude name="log/**"/>
+ <exclude name="tmp/**"/>
+ <exclude name="work/**"/>
+ <exclude name="deploy-hasingleton/**"/>
+ <exclude name="conf/jacorb.properties"/>
+ <exclude name="lib/avalon-framework.jar"/>
+ <exclude name="lib/jgroups.jar"/>
+ <exclude name="lib/jacorb.jar"/>
+ <exclude name="lib/jaxr-client.jar" />
+ <exclude name="lib/jbosscache-core.jar"/>
+ <exclude name="lib/jbosscache-pojo.jar"/>
+ <exclude name="lib/jbossmqha.jar"/>
+ <exclude name="deploy/cluster/**"/>
+ <exclude name="deploy/iiop-service.xml"/>
+ <exclude name="deploy/jbossweb-ejb.jar"/>
+ <exclude name="deploy/jms/hajndi-jms-ds.xml"/>
+ <exclude name="deploy/deploy.last/**"/>
+ <exclude name="deploy/httpha-invoker.sar/**"/>
+ <exclude name="deploy/snmp-adaptor.sar/**"/>
+ <exclude name="farm/**"/>
+ <exclude name="deploy/juddi-service.sar/**"/>
+ <exclude name="deploy/messaging/**"/>
+ <exclude name="deploy/jms-ds.xml"/>
+ </fileset>
+ </copy>
+ <copy todir="${install.default.conf}"
+ file="${project.root}/server/output/etc/conf/default/jndi.properties" overwrite="true"/>
+<!--
+ <copy todir="${install.default.deploy}">
+ <fileset dir="${install.all.deploy.hasingleton}">
+ <include name="jms/**"/>
+-->
+ <!-- Trim the default config jms layer to only the JVM/UIL2 invoker -->
+<!--
+ <exclude name="jms/jbossmq-hail.sar/**"/>
+ </fileset>
+ </copy>
+ <copy todir="${install.default.deploy}/jms">
+ <fileset dir="${install.examples.jca}">
+ <include name="jms-ds.xml"/>
+ </fileset>
+ </copy>
+-->
+ <unjar src="${project.root}/varia/output/lib/http-invoker.sar"
+ dest="${install.default}/deploy/http-invoker.sar"/>
+
+ <!-- Build server/minimal manually -->
+ <mkdir dir="${install.minimal.deploy}"/>
+ <mkdir dir="${install.minimal.deployers}"/>
+ <copy todir="${install.minimal.conf}">
+ <fileset dir="${install.default.conf}">
+ <include name="jndi.properties" />
+ <include name="jboss-log4j.xml" />
+ <include name="bootstrap-beans.xml" />
+ <include name="xmdesc/NamingBean-xmbean.xml" />
+ <include name="xmdesc/NamingService-xmbean.xml" />
+ </fileset>
+ </copy>
+ <copy file="${install.default.conf}/jboss-minimal.xml"
+ tofile="${install.minimal.conf}/jboss-service.xml"/>
+ <copy todir="${install.minimal.lib}">
+ <fileset dir="${install.default.lib}">
+ <include name="jboss-management.jar" />
+ <include name="jnpserver.jar" />
+ <include name="log4j.jar" />
+ </fileset>
+ </copy>
+ <copy todir="${install.minimal.lib}"
+ file="${project.root}/server/output/lib/jboss-minimal.jar" />
+
+ <call target="jboss-all-client"/>
+
+ </target>
+
+ <target name="bypass-jboss-all-client" depends="init">
+
+ <uptodate property="bypass-jboss-all-client.on" targetfile="${install.client}/jbossall-client.jar">
+ <srcfiles dir="${install.client}">
+ <include name="*-client.jar"/>
+ <include name="jboss-logging-*.jar" />
+ <include name="asm.jar"/>
+ <include name="cglib-2.1.1.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="concurrent.jar"/>
+ <include name="ejb3-persistence.jar"/>
+ <include name="hibernate-annotations.jar"/>
+ <include name="jboss-auth.jar"/>
+ <include name="jboss-annotations-ejb3.jar"/>
+ <include name="jboss-common*.jar"/>
+ <include name="jboss-ejb3-ext-api.jar"/>
+ <include name="jboss-logging*.jar"/>
+ <include name="jboss-deployment.jar"/>
+ <include name="jboss-javaee.jar"/>
+ <include name="jboss-integration.jar"/>
+ <include name="jboss-j2se.jar"/>
+ <include name="jboss-remoting.jar"/>
+ <include name="jboss-security-spi.jar"/>
+ <include name="jboss-serialization.jar"/>
+ <include name="jbossmqha.jar"/>
+ <include name="jmx-connector-client-factory.jar"/>
+ <include name="namespace.jar"/>
+ <include name="xmlsec.jar"/>
+ <include name="jboss-messaging.jar"/>
+ <include name="jboss-mdr.jar"/>
+ <include name="jboss-deployers-core.jar"/>
+ <include name="jboss-deployers-core-spi.jar"/>
+ <include name="jboss-deployers-client.jar"/>
+ <include name="jboss-deployers-client-spi.jar"/>
+ <!-- client excludes -->
+ <exclude name="jbossws-client.jar"/>
+ </srcfiles>
+ </uptodate>
+
+ </target>
+
+ <target name="jboss-all-client"
+ depends="bypass-jboss-all-client"
+ unless="bypass-jboss-all-client.on">
+
+ <!--Create a jbossall-client.jar containing everything a client app needs-->
+ <mkdir dir="build"/>
+ <delete file="${install.client}/jbossall-client.jar"/>
+ <unjar dest="build">
+ <fileset dir="${install.client}">
+ <include name="*-client.jar"/>
+ <include name="asm.jar"/>
+ <include name="cglib-2.1.1.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="concurrent.jar"/>
+ <include name="ejb3-persistence.jar"/>
+ <include name="hibernate-annotations.jar"/>
+ <include name="jboss-annotations-ejb3.jar"/>
+ <include name="jboss-auth.jar"/>
+ <include name="jboss-common*.jar"/>
+ <include name="jboss-ejb3-ext-api.jar"/>
+ <include name="jboss-logging*.jar"/>
+ <include name="jboss-deployment.jar"/>
+ <include name="jboss-javaee.jar"/>
+ <include name="jboss-integration.jar"/>
+ <include name="jboss-j2se.jar"/>
+ <include name="jboss-remoting.jar"/>
+ <include name="jboss-security-spi.jar"/>
+ <include name="jboss-serialization.jar"/>
+ <!-- Do not include, otherwise jbossws cannot be a drop in replacement.
+ <include name="jboss-xml-binding.jar"/>
+ <include name="jboss-jaxrpc.jar"/>
+ <include name="jboss-jaxws.jar"/>
+ <include name="jboss-saaj.jar"/>
+ <include name="wsdl4j.jar"/>
+ -->
+ <include name="jbossmqha.jar"/>
+ <include name="jmx-connector-client-factory.jar"/>
+ <include name="namespace.jar"/>
+ <include name="xmlsec.jar"/>
+ <include name="jboss-messaging.jar"/>
+ <include name="jboss-mdr.jar"/>
+ <include name="jboss-deployers-core.jar"/>
+ <include name="jboss-deployers-core-spi.jar"/>
+ <include name="jboss-deployers-client.jar"/>
+ <include name="jboss-deployers-client-spi.jar"/>
+ <!-- client excludes -->
+ <exclude name="jbossws-client.jar"/>
+ </fileset>
+ </unjar>
+ <jar destfile="${install.client}/jbossall-client.jar" basedir="build" />
+
+ <delete dir="build" />
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Cleaning -->
+ <!-- ================================================================== -->
+
+ <!-- Clean up all build output -->
+ <target name="clean" depends="createthirdparty, _buildmagic:clean, modules-clean"
+ description="Cleans up most generated files.">
+ </target>
+
+ <!-- Clean up all generated files -->
+ <target name="clobber" depends="_buildmagic:clobber, clean, modules-clobber"
+ description="Cleans up all generated files.">
+ <delete file="${module.root}/*_run.log"/>
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Misc. -->
+ <!-- ================================================================== -->
+
+ <target name="main" depends="most"
+ description="Executes the default target (most)."/>
+
+ <target name="all" depends="createthirdparty, modules-all, install"
+ description="Executes all modules and builds everything."/>
+
+ <target name="most" depends="createthirdparty, modules-most, install"
+ description="Executes all modules and builds most everything."/>
+
+ <target name="release" depends="most" />
+
+ <target name="help" depends="_buildmagic:help:build"
+ description="Show this help message."/>
+
+ <!-- create the thirdparty folder from items in the repository -->
+ <!-- then generate a new libraries.ent file and include it in -->
+ <!-- the build -->
+ <target name="createthirdparty" unless="inhibit.downloads"
+ depends="check.inhibit.downloads, set.proxy">
+ <ant antfile="build-thirdparty.xml" target="generate-lib-file"/>
+ <ant dir="../testsuite" antfile="build-thirdparty.xml" target="generate-lib-file"/>
+ </target>
+
+ <!-- check if thirdparty libraries are to be downloaded -->
+ <target name="check.inhibit.downloads">
+ <condition property="inhibit.downloads">
+ <or>
+ <uptodate property="dependencies.current"
+ targetfile="../thirdparty/libraries.ent">
+ <srcfiles dir= "." includes="build-thirdparty.xml"/>
+ <srcfiles dir= "../testsuite" includes="build-thirdparty.xml"/>
+ </uptodate>
+ <istrue value="${nodownload}"/>
+ </or>
+ </condition>
+ </target>
+
+ <!-- check if the the user has specied proxy settings -->
+ <target name="check.proxy">
+ <condition property="hasproxy">
+ <and>
+ <isset property="proxy.host"/>
+ <isset property="proxy.port"/>
+ <not>
+ <equals arg1="" arg2="${proxy.host}" trim="true"/>
+ </not>
+ <not>
+ <equals arg1="" arg2="${proxy.port}" trim="true"/>
+ </not>
+ </and>
+ </condition>
+ </target>
+
+ <!-- set proxy settings -->
+ <condition property="hasproxyauth">
+ <and>
+ <isset property="hasproxy"/>
+ <isset property="proxy.username"/>
+ <isset property="proxy.password"/>
+ <not>
+ <equals arg1="" arg2="${proxy.username}" trim="true"/>
+ </not>
+ <not>
+ <equals arg1="" arg2="${proxy.password}" trim="true"/>
+ </not>
+ </and>
+ </condition>
+ <target name="set.proxy" depends="set.proxy.withoutauth, set.proxy.auth"/>
+
+ <!-- set proxy settings without auth -->
+ <target name="set.proxy.withoutauth" if="hasproxy" unless="hasproxyauth" depends="check.proxy">
+ <echo>Proxy is set to ${proxy.host}:${proxy.port}</echo>
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
+ </target>
+
+ <!-- set proxy settings using auth -->
+ <target name="set.proxy.auth" if="hasproxyauth" depends="check.proxy">
+ <echo>Auth Proxy is set to ${proxy.host}:${proxy.port} username=[${proxy.username}]</echo>
+ <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.username}" proxypassword="${proxy.password}"/>
+ </target>
+
+</project>
Copied: trunk/build/build-thirdparty-old.xml (from rev 79434, trunk/build/build-thirdparty-old.xml)
===================================================================
--- trunk/build/build-thirdparty-old.xml (rev 0)
+++ trunk/build/build-thirdparty-old.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<!-- $Id: build-thirdparty.xml 70700 2008-03-10 21:00:47Z anil.saldhana at jboss.com $ -->
+<project name="main.build" default="synchronize" basedir=".">
+
+ <!-- Property File definitions -->
+ <property file="local.properties"/>
+ <property file="synchronize.properties"/>
+ <property environment="env"/>
+
+ <!-- Property Definitions -->
+ <property name="generatedLibrariesFiles" value="../thirdparty/libraries.ent"/>
+
+ <!-- Allow jbossbuild.repository to be set from (in order or priority)
+ | Command line -Djbossbuild.repository=...
+ | synchronize.properties jbossbuild.repository setting
+ | JBOSS_REPOSITORY environment variable
+ | (e.g. JBOSS_REPOSITORY=file:///d:/projects/repository.jboss.com/)
+ -->
+
+ <condition property="jbossbuild.repository" value="${env.JBOSS_REPOSITORY}">
+ <isset property="env.JBOSS_REPOSITORY"/>
+ </condition>
+
+ <!-- Fall back to default -->
+ <property name="jbossbuild.repository" value="http://repository.jboss.com"/>
+
+ <!-- File Imports -->
+ <import file="../tools/etc/jbossbuild/tasks.xml"/>
+
+ <!-- Main Definition of dependencies -->
+ <build
+ id="jbossas-thirdparty"
+ impltitle="JBossAS"
+ implversion="jboss-head"
+ implvendor="JBoss Inc."
+ implurl="http://www.jboss.org"
+ description="JBoss Application Server"
+ cvsroot="${cvs.prefix}@cvs.forge.jboss.com:/cvsroot/jboss"
+ thirdpartypath="../thirdparty/"
+ location="${jbossbuild.repository}"
+ targetdefs="targets">
+
+ <!--
+ The repository is in CVS under the module repository.jboss.com whose contents
+ are pushed to the http://repository.jboss.com site.
+ -->
+
+ <componentref name="antlr" version="2.7.6-brew"/>
+ <componentref name="apache-avalon" version="4.1.5"/>
+ <componentref name="apache-avalon-logkit" version="1.2"/>
+ <componentref name="apache-bcel" version="5.1"/>
+ <componentref name="apache-beanutils" version="1.7.0"/>
+ <componentref name="apache-bsf" version="2.3.0"/>
+ <componentref name="apache-codec" version="1.3.0"/>
+ <componentref name="apache-collections" version="3.1"/>
+ <componentref name="apache-digester" version="1.7-brew"/>
+ <componentref name="apache-discovery" version="0.4-brew"/>
+ <componentref name="apache-fileupload" version="1.1.1"/>
+ <componentref name="apache-httpclient" version="3.0.1"/>
+ <componentref name="apache-jaxme" version="0.2-cvs"/>
+ <componentref name="apache-log4j" version="1.2.14"/>
+ <componentref name="apache-logging" version="1.1.0.jboss"/>
+ <componentref name="apache-myfaces" version="1.1.3"/>
+ <componentref name="apache-scout" version="0.7rc2"/>
+ <componentref name="apache-slide" version="2.1-brew"/>
+ <componentref name="apache-velocity" version="1.4jboss"/>
+ <componentref name="apache-xalan" version="2.7.0.patch01-brew"/>
+ <componentref name="apache-xerces" version="2.9.1"/>
+ <componentref name="apache-xmlsec" version="1.3.0"/>
+ <componentref name="beanshell" version="1.3.0"/>
+ <componentref name="cglib" version="2.1.3"/>
+ <componentref name="commons-el" version="1.0"/>
+ <componentref name="dom4j" version="1.6.1"/>
+ <componentref name="easymock" version="1.1"/>
+ <componentref name="gnu-getopt" version="1.0.12-brew"/>
+ <componentref name="hibernate" version="3.2.6.GA"/>
+ <componentref name="hibernate-annotations" version="3.3.1.GA"/>
+ <componentref name="hibernate-commons-annotations" version="3.0.0.GA"/>
+ <componentref name="hibernate-entitymanager" version="3.3.2.GA"/>
+ <componentref name="hibernate-validator" version="3.0.0.GA"/>
+ <componentref name="hsqldb" version="1.8.0.8-brew"/>
+ <componentref name="jacorb" version="2.3.0jboss.patch5-brew"/>
+ <componentref name="javassist" version="3.7.1.GA"/>
+ <componentref name="jaxen" version="1.1-brew"/>
+ <componentref name="jboss/aop" version="2.0.0.CR8"/>
+ <componentref name="jboss/cache/jbosscache-core" version="2.1.0.CR4"/>
+ <componentref name="jboss/cache/jbosscache-pojo" version="2.1.0.CR4"/>
+ <componentref name="jboss/common-core" version="2.2.4.GA"/>
+ <componentref name="jboss/common-logging-jdk" version="2.0.2.GA"/>
+ <componentref name="jboss/common-logging-log4j" version="2.0.2.GA"/>
+ <componentref name="jboss/common-logging-spi" version="2.0.2.GA"/>
+ <componentref name="jboss/integration" version="5.0.0.Beta4"/>
+ <componentref name="jboss/jaxr" version="1.2.0.GA"/>
+ <componentref name="jboss/jboss-ejb3-cache" version="0.11.1"/>
+ <componentref name="jboss/jboss-ejb3-ext-api" version="0.3"/>
+ <componentref name="jboss/jboss-ejb3-ext-api-impl" version="0.3"/>
+ <componentref name="jboss/jboss-ejb3-interceptors" version="0.12.0"/>
+ <componentref name="jboss/jboss-ejb3-metadata" version="0.12.0"/>
+ <componentref name="jboss/jboss-ejb3-core" version="0.1.0-SNAPSHOT"/>
+ <componentref name="jboss/jboss-ha-client" version="1.0.0.GA"/>
+ <componentref name="jboss/jboss-ha-server-api" version="1.0.0.GA"/>
+ <componentref name="jboss/jboss-jaspi-api" version="1.0-BETA1"/>
+ <componentref name="jboss/jboss-javaee" version="5.0.0-SNAPSHOT"/>
+ <componentref name="jboss/jboss-security-spi" version="2.0.2.Beta5"/>
+ <componentref name="jboss/jbosssx" version="2.0.2-SNAPSHOT"/>
+ <componentref name="jboss/jbosssx-client" version="2.0.2.Beta5"/>
+ <componentref name="jboss/jbossts" version="4.3.0.GA"/>
+ <componentref name="jboss/jboss-vfs" version="2.0.0.Beta10"/>
+ <componentref name="jboss/jbossws" version="3.0.1-native-2.0.4.GA"/>
+ <componentref name="jboss/jbossxb" version="2.0.0.CR7"/>
+ <componentref name="jboss/jms-integration-tests" version="1.0.1.GA"/>
+ <componentref name="jboss/jnp-client" version="5.0.0.Beta4"/>
+ <componentref name="jboss/jnpserver" version="5.0.0.Beta4"/>
+ <componentref name="jboss/messaging" version="1.4.1.Beta1"/>
+ <componentref name="jboss/metadata" version="1.0.0.Beta7"/>
+ <componentref name="jboss/jboss-cl" version="2.0.0.Beta11"/>
+ <componentref name="jboss/jboss-deployers" version="2.0.0.Beta11"/>
+ <componentref name="jboss/jboss-man" version="2.0.0.Beta12"/>
+ <componentref name="jboss/jboss-mdr" version="2.0.0.Beta12"/>
+ <componentref name="jboss/microcontainer" version="2.0.0.Beta11"/>
+ <componentref name="jboss/jboss-reflect" version="2.0.0.Beta12"/>
+ <componentref name="jboss/profiler/jvmti" version="1.0.0.CR5"/>
+ <componentref name="jboss/remoting" version="2.4.0.CR1"/>
+ <componentref name="jboss/serialization" version="1.0.3.GA"/>
+ <componentref name="jboss/test" version="1.0.5.GA"/>
+ <componentref name="jboss/web" version="2.1.0.GA"/>
+ <componentref name="jfreechart" version="1.0.2"/>
+ <componentref name="jgroups" version="2.6.2"/>
+ <componentref name="joesnmp" version="0.3.4"/>
+ <componentref name="juddi" version="0.9RC4"/>
+ <componentref name="junit" version="3.8.2-brew"/>
+ <componentref name="nekohtml" version="0.9.1"/>
+ <componentref name="objectweb-joramtests" version="1.5"/>
+ <componentref name="odmg" version="3.0"/>
+ <componentref name="opensaml" version="1.1b"/>
+ <componentref name="osgi" version="4.0"/>
+ <componentref name="oswego-concurrent" version="1.3.4-jboss-update1"/>
+ <componentref name="qdox" version="1.6.1"/>
+ <componentref name="quartz" version="1.5.2"/>
+ <componentref name="sleepycat" version="3.0.12"/>
+ <componentref name="snmptrapappender" version="1.2.8-brew"/>
+ <componentref name="spring" version="2.0"/>
+ <componentref name="sun-jaf" version="1.1"/>
+ <componentref name="sun-javacc" version="3.2"/>
+ <componentref name="sun-javamail" version="1.4"/>
+ <componentref name="sun-jsf" version="1.2_09"/>
+ <componentref name="sun-jstl" version="1.2"/>
+ <componentref name="sun-opends" version="0.1.0.build016"/>
+ <componentref name="sun-servlet" version="2.5"/>
+ <componentref name="sun-xacml" version="2.0"/>
+ <componentref name="trove" version="1.0.2"/>
+ <componentref name="woodstox" version="3.1.1"/>
+ <componentref name="xdoclet" version="1.2.3"/>
+ <componentref name="xmlunit-xmlunit" version="1.0"/>
+
+ </build>
+
+ <synchronizeinfo/>
+
+ <!-- Generate the targets -->
+ <generate generate="jbossas-thirdparty"/>
+
+ <target
+ name="generate-lib-file"
+ description="generate libraries.ent and thirdparty license info"
+ depends="synchronize">
+ <gen-lib-file filename="${generatedLibrariesFiles}" />
+ <visit-componentref-graph componentVisitor="org.jboss.ant.util.graph.ComponentRefGraphLicenseVisitor"/>
+ </target>
+
+</project>
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/build/build.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -720,6 +720,7 @@
<exclude name="deploy/jbossweb-ejb.jar"/>
<exclude name="deploy/jms/hajndi-jms-ds.xml"/>
<exclude name="deploy/deploy.last/**"/>
+ <exclude name="deploy/httpha-invoker.sar/**"/>
<exclude name="deploy/snmp-adaptor.sar/**"/>
<exclude name="farm/**"/>
<exclude name="deploy/juddi-service.sar/**"/>
@@ -731,43 +732,42 @@
file="${project.root}/server/output/etc/conf/default/jndi.properties" overwrite="true"/>
<unjar src="${project.root}/varia/output/lib/http-invoker.sar"
- dest="${install.docs}/examples/legacy-remoting/http-invoker.sar"/>
- <unjar src="${project.root}/varia/output/lib/httpha-invoker.sar"
- dest="${install.docs}/examples/legacy-remoting/httpha-invoker.sar"/>
+ dest="${install.default}/deploy/http-invoker.sar"/>
<!-- Build server/minimal manually -->
+ <mkdir dir="${install.minimal.deploy}"/>
+ <mkdir dir="${install.minimal.deployers}"/>
<copy todir="${install.minimal.conf}">
<fileset dir="${install.default.conf}">
- <include name="jboss-service.xml" />
<include name="jndi.properties" />
<include name="jboss-log4j.xml" />
+ <!-- Use bootstrap-minimal.xml until we get rid of bindings.xml -->
+ <!--<include name="bootstrap.xml" />-->
<include name="aop.xml" />
<include name="classloader.xml" />
<include name="deployers.xml" />
<include name="jmx.xml" />
<include name="profile.xml" />
- <include name="xmdesc/Log4jService-xmbean.xml" />
+ <include name="xmdesc/NamingBean-xmbean.xml" />
+ <include name="xmdesc/NamingService-xmbean.xml" />
</fileset>
</copy>
<copy file="${install.default.conf}/bootstrap-minimal.xml"
- tofile="${install.minimal.conf}/bootstrap.xml" />
- <copy todir="${install.minimal.deploy}">
- <fileset dir="${project.root}/server/src/etc/deploy-minimal">
- <include name="naming-jboss-beans.xml" />
- </fileset>
- </copy>
- <mkdir dir="${install.minimal.deployers}"/>
+ tofile="${install.minimal.conf}/bootstrap.xml"/>
+ <copy file="${install.default.conf}/jboss-minimal.xml"
+ tofile="${install.minimal.conf}/jboss-service.xml"/>
<copy todir="${install.minimal.lib}">
- <fileset dir="${project.root}/server/output/lib">
- <include name="jboss-minimal.jar"/>
- </fileset>
<fileset dir="${install.default.lib}">
+ <include name="jboss-management.jar" />
<include name="jnpserver.jar" />
<include name="log4j.jar" />
</fileset>
</copy>
-
+ <copy todir="${install.minimal.lib}"
+ file="${project.root}/server/output/lib/jboss-minimal.jar" />
+
<call target="jboss-all-client"/>
+
</target>
<target name="jboss-all-client" depends="init"
Deleted: trunk/cluster/src/etc/ha-legacy-jboss-beans.xml
===================================================================
--- trunk/cluster/src/etc/ha-legacy-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/cluster/src/etc/ha-legacy-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- High Availability for legacy services (e.g. EJB2) -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- ==================================================================== -->
- <!-- HA Detached Invoker using JRMP for transport -->
- <!-- ==================================================================== -->
-
- <bean name="JRMPInvokerHA"
- class="org.jboss.invocation.jrmp.server.JRMPInvokerHA">
-
- <depends>jboss:service=TransactionManager</depends>
- <depends>HAPartition</depends>
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=jrmpha", exposedInterface=org.jboss.invocation.jrmp.server.JRMPInvokerMBean.class, registerDirectly=true)</annotation>
-
- <property name="serverAddress">${jboss.bind.address}</property>
- <property name="RMIObjectPort">
- <!-- Get the port from the ServiceBindingManager -->
- <value-factory bean="ServiceBindingManager" method="getIntBinding"
- parameter="jboss:service=invoker,type=jrmpha"/>
- </property>
-
- <!--
- <property name="RMIObjectPort">0</property>
- <property name="RMIClientSocketFactory">custom</property>
- <property name="RMIServerSocketFactory">custom</property>
- -->
- </bean>
-
- <!-- ==================================================================== -->
- <!-- HA Detached Invoker using pooled socket-based transport -->
- <!-- ==================================================================== -->
-
- <bean name="PooledInvokerHA"
- class="org.jboss.invocation.pooled.server.PooledInvokerHA">
-
- <depends>jboss:service=TransactionManager</depends>
- <depends>HAPartition</depends>
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=pooledha", exposedInterface=org.jboss.invocation.pooled.server.PooledInvokerMBean.class, registerDirectly=true)</annotation>
-
- <property name="numAcceptThreads">1</property>
- <property name="maxPoolSize">300</property>
- <property name="clientMaxPoolSize">300</property>
- <property name="socketTimeout">60000</property>
- <property name="serverBindAddress">${jboss.bind.address}</property>
- <property name="serverBindPort">
- <!-- Get the port from the ServiceBindingManager -->
- <value-factory bean="ServiceBindingManager" method="getIntBinding"
- parameter="jboss:service=invoker,type=pooledha"/>
- </property>
- <property name="clientConnectAddress">${jboss.bind.address}</property>
- <property name="clientConnectPort">0</property>
- <property name="enableTcpNoDelay">false</property>
- <property name="transactionManagerService">jboss:service=TransactionManager</property>
-
- </bean>
-
- <!-- ==================================================================== -->
- <!-- HA Detached Invoker using JBoss Remoting for transport -->
- <!-- ==================================================================== -->
-
- <bean name="UnifiedInvokerHA"
- class="org.jboss.invocation.unified.server.UnifiedInvokerHA">
-
- <depends>jboss:service=TransactionManager</depends>
- <depends>HAPartition</depends>
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=unifiedha", exposedInterface=org.jboss.invocation.unified.server.UnifiedInvokerMBean.class, registerDirectly=true)</annotation>
-
- <property name="connector"><inject bean="jboss.remoting:service=Connector,transport=socket"/></property>
- </bean>
-
- <!-- ==================================================================== -->
- <!-- HA Session State Service for EJB2 SFSBs -->
- <!-- ==================================================================== -->
-
- <bean name="HASessionStateService"
- class="org.jboss.ha.hasessionstate.server.HASessionStateService">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HASessionState", exposedInterface=org.jboss.ha.hasessionstate.server.HASessionStateServiceMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="HAPartition"/></property>
-
- <!-- JNDI name under which the service is bound -->
- <property name="jndiName">/HASessionState/Default</property>
- <!-- Max delay before cleaning unreclaimed state.
- Defaults to 30*60*1000 => 30 minutes -->
- <property name="beanCleaningDelay">0</property>
-
- </bean>
-
- <!-- ==================================================================== -->
- <!-- Distributed EJB2 entity cache invalidation -->
- <!-- ==================================================================== -->
-
- <bean name="JGCacheInvalidationBridge"
- class="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=InvalidationBridge,type=JavaGroups", exposedInterface=org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridgeMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="HAPartition"/></property>
- <property name="invalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></property>
- <property name="bridgeName">DefaultJGBridge</property>
-
- </bean>
-
-</deployment>
\ No newline at end of file
Copied: trunk/cluster/src/etc/ha-legacy-service.xml (from rev 79434, trunk/cluster/src/etc/ha-legacy-service.xml)
===================================================================
--- trunk/cluster/src/etc/ha-legacy-service.xml (rev 0)
+++ trunk/cluster/src/etc/ha-legacy-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- High Availability for legacy services (e.g. EJB2) -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- ==================================================================== -->
+ <!-- HA Detached Invoker using JRMP for transport -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.invocation.jrmp.server.JRMPInvokerHA"
+ name="jboss:service=invoker,type=jrmpha">
+
+ <depends>jboss:service=TransactionManager</depends>
+ <depends>HAPartition</depends>
+
+ <attribute name="ServerAddress">${jboss.bind.address}</attribute>
+ <attribute name="RMIObjectPort">
+ <!-- Get the port from the ServiceBindingManager -->
+ <value-factory bean="ServiceBindingManager" method="getIntBinding"
+ parameter="jboss:service=invoker,type=jrmpha"/>
+ </attribute>
+
+ <!--
+ <attribute name="RMIObjectPort">0</attribute>
+ <attribute name="RMIClientSocketFactory">custom</attribute>
+ <attribute name="RMIServerSocketFactory">custom</attribute>
+ -->
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- HA Detached Invoker using pooled socket-based transport -->
+ <!-- ==================================================================== -->
+
+ <mbean name="jboss:service=invoker,type=pooledha"
+ code="org.jboss.invocation.pooled.server.PooledInvokerHA">
+
+ <depends>jboss:service=TransactionManager</depends>
+ <depends>HAPartition</depends>
+
+ <attribute name="NumAcceptThreads">1</attribute>
+ <attribute name="MaxPoolSize">300</attribute>
+ <attribute name="ClientMaxPoolSize">300</attribute>
+ <attribute name="SocketTimeout">60000</attribute>
+ <attribute name="ServerBindAddress">${jboss.bind.address}</attribute>
+ <attribute name="ServerBindPort">
+ <!-- Get the port from the ServiceBindingManager -->
+ <value-factory bean="ServiceBindingManager" method="getIntBinding"
+ parameter="jboss:service=invoker,type=pooledha"/>
+ </attribute>
+ <attribute name="ClientConnectAddress">${jboss.bind.address}</attribute>
+ <attribute name="ClientConnectPort">0</attribute>
+ <attribute name="EnableTcpNoDelay">false</attribute>
+ <attribute name="TransactionManagerService">jboss:service=TransactionManager</attribute>
+
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- HA Detached Invoker using JBoss Remoting for transport -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.invocation.unified.server.UnifiedInvokerHA"
+ name="jboss:service=invoker,type=unifiedha">
+
+ <depends>jboss:service=TransactionManager</depends>
+ <depends>HAPartition</depends>
+
+ <attribute name="Connector"><inject bean="jboss.remoting:service=Connector,transport=socket"/></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- HA Session State Service for EJB2 SFSBs -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService"
+ name="jboss:service=HASessionState">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="HAPartition"/></attribute>
+
+ <!-- JNDI name under which the service is bound -->
+ <attribute name="JndiName">/HASessionState/Default</attribute>
+ <!-- Max delay before cleaning unreclaimed state.
+ Defaults to 30*60*1000 => 30 minutes -->
+ <attribute name="BeanCleaningDelay">0</attribute>
+
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Distributed EJB2 entity cache invalidation -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge"
+ name="jboss.cache:service=InvalidationBridge,type=JavaGroups">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="HAPartition"/></attribute>
+ <attribute name="InvalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></attribute>
+ <attribute name="BridgeName">DefaultJGBridge</attribute>
+
+ </mbean>
+
+</server>
Modified: trunk/cluster/src/etc/hajndi-jboss-beans.xml
===================================================================
--- trunk/cluster/src/etc/hajndi-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/cluster/src/etc/hajndi-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -11,6 +11,8 @@
<bean name="HAJNDI"
class="org.jboss.ha.jndi.HANamingService">
+ <depends>jboss:service=Naming</depends>
+
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HAJNDI", exposedInterface=org.jboss.ha.jndi.HANamingServiceMBean.class)</annotation>
@@ -20,12 +22,10 @@
<!-- Handler for the replicated tree -->
<property name="distributedTreeManager">
<bean class="org.jboss.ha.jndi.impl.jbc.JBossCacheDistributedTreeManager">
- <property name="cacheHandler"><inject bean="HAPartitionCacheHandler"/></property>
+ <property name="clusteredCache"><inject bean="HAPartitionCacheHandler" property="cache"/></property>
</bean>
</property>
- <property name="localNamingInstance"><inject bean="LocalNamingBean" property="namingInstance"/></property>
-
<!-- The thread pool used to control the bootstrap and auto discovery lookups -->
<property name="lookupPool"><inject bean="jboss.system:service=ThreadPool"/></property>
Modified: trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/cluster/src/main/org/jboss/ha/jndi/DetachedHANamingService.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -28,35 +28,34 @@
import java.lang.reflect.Method;
import java.lang.reflect.UndeclaredThrowableException;
import java.net.DatagramPacket;
-import java.net.Inet4Address;
import java.net.InetAddress;
-import java.net.InetSocketAddress;
import java.net.MulticastSocket;
import java.net.ServerSocket;
import java.net.Socket;
-import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.rmi.MarshalledObject;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
+import javax.management.ObjectInstance;
import javax.management.ObjectName;
+import javax.management.Query;
+import javax.management.QueryExp;
import javax.net.ServerSocketFactory;
-import org.apache.commons.logging.Log;
import org.jboss.ha.framework.interfaces.HAPartition;
+import org.jboss.ha.framework.server.ClusterPartitionMBean;
import org.jboss.ha.jndi.spi.DistributedTreeManager;
import org.jboss.invocation.Invocation;
import org.jboss.invocation.MarshalledInvocation;
import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanProxyExt;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.util.threadpool.BasicThreadPool;
import org.jboss.util.threadpool.BasicThreadPoolMBean;
import org.jboss.util.threadpool.ThreadPool;
-import org.jgroups.util.Util;
import org.jnp.interfaces.Naming;
import org.jnp.interfaces.NamingContext;
@@ -106,11 +105,6 @@
* The proxy factory service that generates the Naming stub
*/
private ObjectName proxyFactory;
-
- /**
- * The local (non-HA) Naming instance.
- */
- private Naming localNamingInstance;
/**
* The interface to bind to. This is useful for multi-homed hosts that want
@@ -201,16 +195,6 @@
this.distributedTreeManager = distributedTreeManager;
}
- public Naming getLocalNamingInstance()
- {
- return localNamingInstance;
- }
-
- public void setLocalNamingInstance(Naming localNamingInstance)
- {
- this.localNamingInstance = localNamingInstance;
- }
-
public ObjectName getProxyFactoryObjectName()
{
return this.proxyFactory;
@@ -345,7 +329,7 @@
this.log.debug("Initializing HAJNDI server on partition: " + this.clusterPartition.getPartitionName());
// Start HAJNDI service
- this.theServer = new HAJNDI(this.clusterPartition, this.distributedTreeManager, localNamingInstance);
+ this.theServer = new HAJNDI(this.clusterPartition, this.distributedTreeManager);
// Build the Naming interface method map
Map<Long, Method> map = new HashMap<Long, Method>(13);
@@ -498,7 +482,44 @@
}
// Protected -----------------------------------------------------
+
+ protected HAPartition findHAPartitionWithName(String name)
+ {
+ HAPartition result = null;
+ // Class name match does not work with the AOP proxy :(
+// QueryExp classEQ = Query.eq(Query.classattr(),
+// Query.value(ClusterPartition.class.getName()));
+ QueryExp matchName = Query.match(Query.attr("Name"),
+ Query.value("ClusterPartition"));
+ QueryExp matchPartitionName = Query.match(Query.attr("PartitionName"),
+ Query.value(name));
+ QueryExp exp = Query.and(matchName, matchPartitionName);
+ Set<?> mbeans = this.getServer().queryMBeans(null, exp);
+ if (mbeans != null && mbeans.size() > 0)
+ {
+ for (Object mbean: mbeans)
+ {
+ ObjectInstance inst = (ObjectInstance) mbean;
+ try
+ {
+ ClusterPartitionMBean cp =
+ (ClusterPartitionMBean) MBeanProxyExt.create(
+ ClusterPartitionMBean.class,
+ inst.getObjectName(),
+ this.getServer());
+ result = cp.getHAPartition();
+ break;
+ }
+ catch (Exception e)
+ {
+ // Ignore
+ }
+ }
+ }
+ return result;
+ }
+
/**
* Get the Naming proxy for the transport. This version looks up the
* proxyFactory service Proxy attribute. Subclasses can override this to set
@@ -534,40 +555,21 @@
public void start() throws Exception
{
this.stopping = false;
-
- // Set up the multicast socket on which we listen for discovery requests
-
- this.group = InetAddress.getByName(DetachedHANamingService.this.adGroupAddress);
-
- // On Linux, we avoid cross-talk problem by binding the MulticastSocket
- // to the multicast address. See https://jira.jboss.org/jira/browse/JGRP-777
- if(checkForPresence("os.name", "linux"))
- {
- this.socket = createMulticastSocket(group, DetachedHANamingService.this.adGroupPort);
- }
- else
- {
- this.socket = new MulticastSocket(DetachedHANamingService.this.adGroupPort);
- }
-
- // If there is a valid bind address, set the socket interface to it
// Use the jndi bind address if there is no discovery address
if (DetachedHANamingService.this.discoveryBindAddress == null)
{
DetachedHANamingService.this.discoveryBindAddress = DetachedHANamingService.this.bindAddress;
}
-
- if (DetachedHANamingService.this.discoveryBindAddress != null
- && DetachedHANamingService.this.discoveryBindAddress.isAnyLocalAddress() == false)
+ this.socket = new MulticastSocket(DetachedHANamingService.this.adGroupPort);
+ // If there is a bind address valid, set the socket interface to it
+ if (DetachedHANamingService.this.discoveryBindAddress != null && DetachedHANamingService.this.discoveryBindAddress.isAnyLocalAddress() == false)
{
this.socket.setInterface(DetachedHANamingService.this.discoveryBindAddress);
}
-
this.socket.setTimeToLive(DetachedHANamingService.this.autoDiscoveryTTL);
+ this.group = InetAddress.getByName(DetachedHANamingService.this.adGroupAddress);
this.socket.joinGroup(this.group);
-
- // Determine the hostname:port string we will return to discovery requests
String address = DetachedHANamingService.this.getBindAddress();
/* An INADDR_ANY (0.0.0.0 || null) address is useless as the value
sent to a remote client so check for this and use the local host
@@ -665,65 +667,6 @@
this.receiverStopped = true;
this.log.debug("Discovery request thread end");
}
-
- private boolean checkForPresence(final String key, String value)
- {
- try
- {
- String tmp = null;
- if (System.getSecurityManager() == null)
- {
- tmp = System.getProperty(key);
- }
- else
- {
- tmp = (String) AccessController.doPrivileged(new PrivilegedAction()
- {
- public Object run()
- {
- return System.getProperty(key);
- }
-
- });
- }
-
- return tmp != null && tmp.trim().toLowerCase().startsWith(value);
- }
- catch (Throwable t)
- {
- return false;
- }
- }
-
- private MulticastSocket createMulticastSocket(InetAddress mcast_addr, int port) throws IOException
- {
- if(mcast_addr != null && !mcast_addr.isMulticastAddress()) {
- log.warn("mcast_addr (" + mcast_addr + ") is not a multicast address, will be ignored");
- return new MulticastSocket(port);
- }
-
- SocketAddress saddr=new InetSocketAddress(mcast_addr, port);
- MulticastSocket retval=null;
-
- try {
- retval=new MulticastSocket(saddr);
- }
- catch(IOException ex) {
- StringBuilder sb=new StringBuilder();
- String type=mcast_addr != null ? mcast_addr instanceof Inet4Address? "IPv4" : "IPv6" : "n/a";
- sb.append("could not bind to " + mcast_addr + " (" + type + " address)");
- sb.append("; make sure your mcast_addr is of the same type as the IP stack (IPv4 or IPv6).");
- sb.append("\nWill ignore mcast_addr, but this may lead to cross talking " +
- "(see http://www.jboss.com/wiki/Edit.jsp?page=CrossTalking for details). ");
- sb.append("\nException was: " + ex);
- log.warn(sb);
- }
- if(retval == null)
- {
- retval=new MulticastSocket(port);
- }
- return retval;
- }
}
/**
Modified: trunk/cluster/src/main/org/jboss/ha/jndi/HAJNDI.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/jndi/HAJNDI.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/cluster/src/main/org/jboss/ha/jndi/HAJNDI.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -34,13 +34,13 @@
import org.jboss.ha.framework.interfaces.HAPartition;
import org.jboss.ha.jndi.spi.DistributedTreeManager;
import org.jboss.logging.Logger;
-import org.jnp.interfaces.Naming;
+import org.jnp.interfaces.NamingContext;
/**
* Provides the Naming implemenation. Lookups will look for Names in
- * the injected DistributedTreeManager and if not found will distributedTreeManager to the local
+ * the injected DistributedTreeManager and if not found will delegate to the local
* InitialContext. If still not found, a group RPC will be sent to the cluster
- * using the provided partition. All other Naming operations distributedTreeManager to the
+ * using the provided partition. All other Naming operations delegate to the
* DistributedTreeManager.
*
* @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
@@ -60,32 +60,24 @@
// Attributes --------------------------------------------------------
private final HAPartition partition;
- private final DistributedTreeManager distributedTreeManager;
- private final Naming localNamingInstance;
- private boolean missingLocalNamingLogged;
+ private final DistributedTreeManager delegate;
// Constructor --------------------------------------------------------
- public HAJNDI(HAPartition partition, DistributedTreeManager distributedTreeManager, Naming localNamingInstance)
+ public HAJNDI(HAPartition partition, DistributedTreeManager delegate)
{
if (partition == null)
{
throw new IllegalArgumentException("Null partition");
}
- if (distributedTreeManager == null)
+ if (delegate == null)
{
- throw new IllegalArgumentException("Null distributedTreeManager");
+ throw new IllegalArgumentException("Null delegate");
}
- if (localNamingInstance == null)
- {
- log.debug("No localNamingInstance provided; injecting a local naming instance is recommended");
- }
-
this.partition = partition;
- this.distributedTreeManager = distributedTreeManager;
- this.localNamingInstance = localNamingInstance;
+ this.delegate = delegate;
}
// Public --------------------------------------------------------
@@ -94,14 +86,14 @@
{
log.debug("HAJNDI registering RPC Handler with HAPartition");
this.partition.registerRPCHandler("HAJNDI", this);
- this.distributedTreeManager.init();
+ this.delegate.init();
}
public void shutdown()
{
log.debug("HAJNDI unregistering RPCHandler with HAPartition");
this.partition.unregisterRPCHandler("HAJNDI", this);
- this.distributedTreeManager.shutdown();
+ this.delegate.shutdown();
}
/**
@@ -120,19 +112,20 @@
log.trace("lookupLocally, name="+name);
}
+ // TODO: This is a really big hack here
// We cannot do InitialContext().lookup(name) because
// we get ClassNotFound errors and ClassLinkage errors.
- // So, what we prefer to use an injected local Naming instance
+ // So, what we do is cheat and get the static localServer variable
try
{
- if (localNamingInstance != null)
+ if (NamingContext.getLocal() != null)
{
- return localNamingInstance.lookup(name);
+ return NamingContext.getLocal().lookup(name);
}
return new InitialContext().lookup(name);
}
- catch (NameNotFoundException e)
+ catch (NamingException e)
{
if (trace)
{
@@ -140,14 +133,6 @@
}
throw e;
}
- catch (NamingException e)
- {
- if (!logMissingLocalNamingInstance(e) && trace)
- {
- log.trace("lookupLocally failed, name=" + name, e);
- }
- throw e;
- }
catch (java.rmi.RemoteException e)
{
NamingException ne = new NamingException("unknown remote exception");
@@ -160,17 +145,12 @@
}
catch (RuntimeException e)
{
- if (!logMissingLocalNamingInstance(e) && trace)
+ if (trace)
{
log.trace("lookupLocally failed, name=" + name, e);
}
throw e;
}
- catch (Error e)
- {
- logMissingLocalNamingInstance(e);
- throw e;
- }
}
// Naming implementation -----------------------------------------
@@ -178,22 +158,22 @@
public synchronized void bind(Name name, Object obj, String className) throws NamingException
{
- this.distributedTreeManager.bind(name, obj, className);
+ this.delegate.bind(name, obj, className);
}
public synchronized void rebind(Name name, Object obj, String className) throws NamingException
{
- this.distributedTreeManager.rebind(name, obj, className);
+ this.delegate.rebind(name, obj, className);
}
public synchronized void unbind(Name name) throws NamingException
{
- this.distributedTreeManager.unbind(name);
+ this.delegate.unbind(name);
}
public Object lookup(Name name) throws NamingException
{
- Object binding = this.distributedTreeManager.lookup(name);
+ Object binding = this.delegate.lookup(name);
if (binding == null)
{
try
@@ -214,17 +194,17 @@
public Collection<NameClassPair> list(Name name) throws NamingException
{
- return this.distributedTreeManager.list(name) ;
+ return this.delegate.list(name) ;
}
public Collection<Binding> listBindings(Name name) throws NamingException
{
- return this.distributedTreeManager.listBindings(name);
+ return this.delegate.listBindings(name);
}
public javax.naming.Context createSubcontext(Name name) throws NamingException
{
- return this.distributedTreeManager.createSubcontext(name);
+ return this.delegate.createSubcontext(name);
}
// ---------------------------------------------------------------- Private
@@ -283,24 +263,4 @@
return null;
}
-
- /**
- * One time and one time only logs a WARN if localNamingInstance was
- * not passed to our constructor and an error condition occurred while
- * attempting to do a local lookup via new InitialContext().
- *
- * @param t the error that occurred
- * @return <code>true</code> if this method logged a WARN
- */
- private boolean logMissingLocalNamingInstance(Throwable t)
- {
- if (localNamingInstance == null && !missingLocalNamingLogged)
- {
- log.warn("No localNamingInstance configured and lookup via new InitialContext() failed; " +
- "injecting a local naming instance is recommended", t);
- missingLocalNamingLogged = true;
- return true;
- }
- return false;
- }
}
Modified: trunk/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
===================================================================
--- trunk/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -478,6 +478,37 @@
<pbcast.GMS print_local_addr="true" join_timeout="3000"
shun="true" view_bundling="true"/>
</config>
+ </stack>
+
+
+ <stack name="tunnel"
+ description="Used with a GossipRouter">
+ <config>
+ <TUNNEL router_port="12001" router_host="127.0.0.1"/>
+ <PING timeout="2000"
+ num_initial_members="3"
+ gossip_refresh="10000"
+ gossip_host="127.0.0.1"
+ gossip_port="12001"/>
+ <MERGE2 max_interval="20000" min_interval="5000"/>
+ <FD_SOCK/>
+ <FD timeout="6000" max_tries="5" shun="true"/>
+ <VERIFY_SUSPECT timeout="1500"/>
+ <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+ retransmit_timeout="300,600,1200,2400,4800"
+ discard_delivered_msgs="true"/>
+ <UNICAST timeout="300,600,1200,2400,3600"/>
+ <pbcast.STABLE stability_delay="1000" desired_avg_gossip="5000"
+ max_bytes="400000"/>
+ <pbcast.GMS print_local_addr="true" join_timeout="3000"
+ shun="true"
+ view_bundling="true"
+ view_ack_collection_timeout="5000"/>
+ <FC max_credits="2000000" min_threshold="0.10"/>
+ <FRAG2 frag_size="60000"/>
+ <pbcast.STATE_TRANSFER/>
+ <pbcast.FLUSH timeout="0"/>
+ </config>
</stack>
</protocol_stacks>
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/component-matrix/pom.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -32,11 +32,11 @@
<version.jacorb>2.3.0jboss.patch5-brew</version.jacorb>
<version.jboss.jbossts>4.4.0.GA</version.jboss.jbossts>
<version.jboss.jms-integration-tests>1.0.1.GA</version.jboss.jms-integration-tests>
- <version.jboss.jaxr>1.2.0.SP3</version.jboss.jaxr>
- <version.jboss.jbossws>3.0.4.GA</version.jboss.jbossws>
- <version.jboss.jbossws-common>1.0.7.GA</version.jboss.jbossws-common>
- <version.jboss.jbossws-framework>3.0.4.GA</version.jboss.jbossws-framework>
- <version.jboss.jbossws-spi>1.0.6.GA</version.jboss.jbossws-spi>
+ <version.jboss.jaxr>1.2.0.SP2</version.jboss.jaxr>
+ <version.jboss.jbossws>3.0.4.CR1</version.jboss.jbossws>
+ <version.jboss.jbossws-common>1.0.7.CR1</version.jboss.jbossws-common>
+ <version.jboss.jbossws-framework>3.0.4.CR1</version.jboss.jbossws-framework>
+ <version.jboss.jbossws-spi>1.0.6.CR1</version.jboss.jbossws-spi>
<version.jboss.messaging>1.4.1.CR1</version.jboss.messaging>
<version.jboss.web>2.1.1.CR7</version.jboss.web>
<version.org.hibernate>3.3.1.GA</version.org.hibernate>
@@ -45,7 +45,7 @@
<version.org.hibernate.ejb3.persistence>1.0.2.GA</version.org.hibernate.ejb3.persistence>
<version.org.hibernate.entity.manager>3.4.0.GA</version.org.hibernate.entity.manager>
<version.org.hibernate.validator>3.1.0.GA</version.org.hibernate.validator>
- <version.org.jboss.aop>2.0.0.CR20</version.org.jboss.aop>
+ <version.org.jboss.aop>2.0.0.CR18</version.org.jboss.aop>
<version.org.jboss.common.core>2.2.8.GA</version.org.jboss.common.core>
<version.org.jboss.ejb3>1.0.0-Beta4</version.org.jboss.ejb3>
<version.org.jboss.ejb3.common.client>0.1.6</version.org.jboss.ejb3.common.client>
@@ -60,24 +60,23 @@
<version.org.jboss.microcontainer>2.0.0.CR2</version.org.jboss.microcontainer>
<version.org.jboss.cl>2.0.0.CR3</version.org.jboss.cl>
<version.org.jboss.deployers>2.0.0.CR2</version.org.jboss.deployers>
- <version.org.jboss.cache.core>2.2.1.CR2</version.org.jboss.cache.core>
+ <version.org.jboss.cache.core>2.2.0.GA</version.org.jboss.cache.core>
<version.org.jboss.cache.pojo>2.2.0.CR5</version.org.jboss.cache.pojo>
<version.org.jboss.cluster>1.1.0.GA</version.org.jboss.cluster>
- <version.org.jboss.cluster.cache.spi>1.0.0.GA</version.org.jboss.cluster.cache.spi>
- <version.org.jboss.cluster.cache.jbc>1.0.1.CR1</version.org.jboss.cluster.cache.jbc>
+ <version.org.jboss.cluster.cache>1.0.0.GA</version.org.jboss.cluster.cache>
<version.org.jboss.integration>5.0.0.CR2</version.org.jboss.integration>
<version.org.jboss.jbossxb>2.0.0.CR15</version.org.jboss.jbossxb>
<version.org.jboss.metadata>1.0.0.CR1</version.org.jboss.metadata>
<version.org.jboss.naming>5.0.0.CR3</version.org.jboss.naming>
<version.org.jboss.remoting>2.5.0.GA</version.org.jboss.remoting>
- <version.org.jboss.security>2.0.2.CR8</version.org.jboss.security>
+ <version.org.jboss.security>2.0.2.CR6</version.org.jboss.security>
<version.oswego-concurrent.concurrent>1.3.4-jboss-update1</version.oswego-concurrent.concurrent>
<version.suffix.org.jboss.javaee>.CR2</version.suffix.org.jboss.javaee>
<version.org.springframework>2.5.5</version.org.springframework>
<version.sun-jaxws>2.1.1</version.sun-jaxws>
<version.sun.jaxb>2.1.4</version.sun.jaxb>
<version.xdoclet>1.2.3</version.xdoclet>
- <version.seam.integration>5.0.0.CR4</version.seam.integration>
+ <version.seam.integration>5.0.0.CR3</version.seam.integration>
</properties>
<!-- Build Configuration -->
@@ -527,7 +526,7 @@
</exclusion>
</exclusions>
</dependency>
-
+
<dependency>
<groupId>org.jboss.aspects</groupId>
<artifactId>jboss-security-aspects</artifactId>
@@ -903,7 +902,7 @@
<dependency>
<groupId>jgroups</groupId>
<artifactId>jgroups</artifactId>
- <version>2.6.5.GA</version>
+ <version>2.6.3.GA</version>
</dependency>
<dependency>
@@ -1111,7 +1110,7 @@
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
- <version>3.8.1.GA</version>
+ <version>3.9.0.GA</version>
</dependency>
<dependency>
@@ -1327,7 +1326,7 @@
<dependency>
<groupId>org.jboss.cluster</groupId>
<artifactId>jboss-ha-server-cache-spi</artifactId>
- <version>${version.org.jboss.cluster.cache.spi}</version>
+ <version>${version.org.jboss.cluster.cache}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.naming</groupId>
@@ -1343,7 +1342,7 @@
<dependency>
<groupId>org.jboss.cluster</groupId>
<artifactId>jboss-ha-server-cache-jbc</artifactId>
- <version>${version.org.jboss.cluster.cache.jbc}</version>
+ <version>${version.org.jboss.cluster.cache}</version>
<exclusions>
<exclusion>
<groupId>org.jboss</groupId>
Modified: trunk/console/src/main/org/jboss/console/plugins/MonitorLister.java
===================================================================
--- trunk/console/src/main/org/jboss/console/plugins/MonitorLister.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/console/src/main/org/jboss/console/plugins/MonitorLister.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -44,9 +44,6 @@
public class MonitorLister
extends AbstractPluginWrapper
{
- /** @since 4.0.1 */
- private static final long serialVersionUID = 1625760520837838058L;
-
public MonitorLister () { super(); }
private TreeNode[] createMonitorSubNodes () throws Exception
Modified: trunk/management/build.xml
===================================================================
--- trunk/management/build.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/management/build.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -94,10 +94,6 @@
<path refid="jboss.jboss.javaee.classpath"/>
<path refid="jboss.metadata.classpath"/>
<path refid="jboss.microcontainer.classpath"/>
- <path refid="jboss.jboss.deployers.classpath"/>
- <path refid="jboss.jboss.vfs.classpath"/>
- <path refid="jboss.jboss.man.classpath"/>
- <path refid="jboss.jbossxb.classpath"/>
<path refid="sun.jaxb.classpath"/>
</path>
Modified: trunk/management/pom.xml
===================================================================
--- trunk/management/pom.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/management/pom.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -41,10 +41,6 @@
<dependencies>
<!-- Compile (global dependencies) -->
<dependency>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-vfs</artifactId>
- </dependency>
- <dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-server</artifactId>
</dependency>
Modified: trunk/management/src/main/org/jboss/management/j2ee/WebModule.java
===================================================================
--- trunk/management/src/main/org/jboss/management/j2ee/WebModule.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/management/src/main/org/jboss/management/j2ee/WebModule.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -21,6 +21,11 @@
*/
package org.jboss.management.j2ee;
+import org.jboss.logging.Logger;
+
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
@@ -28,12 +33,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import org.jboss.logging.Logger;
-
/**
* The JBoss JSR-77.3.16 implementation of the WebModule model
*
@@ -155,7 +155,7 @@
}
catch (Exception e)
{
- log.error("Could not create JSR-77 WebModule: " + warName, e);
+ log.debug("Could not create JSR-77 WebModule: " + warName, e);
return null;
}
return jsr77Name;
Modified: trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java
===================================================================
--- trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -21,7 +21,6 @@
*/
package org.jboss.management.j2ee.factory;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployment.DeploymentInfo;
/**
@@ -50,24 +49,4 @@
return null;
}
}
-
- /**
- * For a given DeploymentUnit instance return the shortname of the
- * parent .ear, if one exists, or null.
- *
- * @param di the module
- * @return .ear parent shortname, or null
- */
- public static String findEarParent(DeploymentUnit di)
- {
- DeploymentUnit parent = di.getParent();
- if (parent != null && parent.getSimpleName().endsWith(".ear"))
- {
- return parent.getSimpleName();
- }
- else
- {
- return null;
- }
- }
}
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/upload/DeploymentProgressImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/upload/DeploymentProgressImpl.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/upload/DeploymentProgressImpl.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -269,6 +269,7 @@
status.setTarget(target);
status.setMessage("Completed stop for target: "+target);
status.setCompleted(true);
+ status.setRunning(true);
currentStatus = status;
event = new ProgressEvent(deployment, currentStatus);
notify(event);
@@ -313,6 +314,7 @@
status.setTarget(target);
status.setMessage("Completed undeploy for target: "+target);
status.setCompleted(true);
+ status.setRunning(true);
currentStatus = status;
event = new ProgressEvent(deployment, currentStatus);
notify(event);
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/upload/SerializableDeploymentID.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/upload/SerializableDeploymentID.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/upload/SerializableDeploymentID.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -131,10 +131,10 @@
buffer.append("names=").append(Arrays.toString(getNames()));
// Only add the repositoryNames if it differs from deploymentNames
if(getRepositoryNames() != getNames())
- buffer.append(", repositoryNames=").append(Arrays.toString(getRepositoryNames()));
- buffer.append(", phase=").append(phase);
- buffer.append(", copyContent=").append(copyContent);
- buffer.append(", description=").append(description);
+ buffer.append("repositoryNames=").append(Arrays.toString(getRepositoryNames()));
+ buffer.append("phase=").append(phase);
+ buffer.append("copyContent=").append(copyContent);
+ buffer.append("description=").append(description);
return buffer.toString();
}
}
Modified: trunk/security/build.xml
===================================================================
--- trunk/security/build.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/security/build.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -246,10 +246,14 @@
<mkdir dir="${build.lib}"/>
<!-- Build jbosssx-server.jar -->
+ <echo>FIXME !!!!! Remove src/etc/schema when they are included in jbosssx.jar</echo>
<jar jarfile="${build.lib}/jbosssx-server.jar"
manifest="${build.etc}/default.mf">
<fileset dir="${build.classes}">
</fileset>
+ <fileset dir="${build.etc}">
+ <include name="schema/**"/>
+ </fileset>
</jar>
<!-- Build jbosssx-as-client.jar -->
<jar jarfile="${build.lib}/jbosssx-as-client.jar"
Copied: trunk/security/src/etc/schema (from rev 79434, trunk/security/src/etc/schema)
Deleted: trunk/security/src/etc/schema/security-config_4_0.xsd
===================================================================
--- trunk/security/src/etc/schema/security-config_4_0.xsd 2008-10-14 02:16:28 UTC (rev 79434)
+++ trunk/security/src/etc/schema/security-config_4_0.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns="http://www.jboss.org/j2ee/schema/jaas"
- targetNamespace="http://www.jboss.org/j2ee/schema/jaas"
- elementFormDefault="unqualified" attributeFormDefault="unqualified" version="4.0">
- <xs:annotation>
- <xs:documentation><![CDATA[
- $Id: security-config_4_0.xsd 26729 2004-12-19 00:44:45Z starksm $
- This is the XML Schema for the jboss 4.0 security configuration descriptor.
- The default version of the descriptor is found in conf/login-config.xml
- and this version of the schema is indicated using:
-
- <policy xmlns="http://www.jboss.org/j2ee/schema/jaas"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.jboss.org/j2ee/schema/security-config_4_0.xsd"
- version="4.0">
- ...
- </policy>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute:
- http://www.jboss.org/j2ee/schema/security-config_4_0.xsd
-
- The outline of a policy/application-policy is:
- <policy>
- <application-policy name="security-domain-name">
- <authentication>
- <login-module code="login.module1.class.name" flag="control_flag">
- <module-option name = "option1-name">option1-value</module-option>
- <module-option name = "option2-name">option2-value</module-option>
- ...
- </login-module>
-
- <login-module code="login.module2.class.name" flag="control_flag">
- ...
- </login-module>
- ...
- </authentication>
- </application-policy>
- </policy>
- ]]></xs:documentation>
- </xs:annotation>
- <xs:element name="policy">
- <xs:annotation>
- <xs:documentation>The policy element is the root of the security
- configuration descriptor.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="application-policy"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="application-policy">
- <xs:annotation>
- <xs:documentation>The application-policy lists configuration for a
- named policy. This currently only consists of the authentication
- configuration. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="authentication"/>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:NCName">
- <xs:annotation>
- <xs:documentation>The name attribute defines the authentication
- configuration name. This is the name that would be passed to
- the JAAS LoginContext ctor to use the associated login module stack.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="authentication">
- <xs:annotation>
- <xs:documentation>The authentication element contains the login module
- stack configuration. Each login module configuration is specified
- using a login-module element.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" ref="login-module"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="login-module">
- <xs:annotation>
- <xs:documentation>The login-module element defines a JAAS login module
- configuration entry. Each entry must have a code and flag attribute
- along with zero or more login module options specified via the
- module-option element. </xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="module-option"/>
- </xs:sequence>
- <xs:attribute name="code" use="required">
- <xs:annotation>
- <xs:documentation>The code attribute gives the fully qualifed class
- name of the javax.security.auth.spi.LoginModule interface implementation
- for the login module.
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="flag" use="required">
- <xs:annotation>
- <xs:documentation>The flag attribute controls how a login module
- participates in the overall authentication proceedure.
- Required - The LoginModule is required to succeed. If it
- succeeds or fails, authentication still continues to proceed
- down the LoginModule list.
-
- Requisite - The LoginModule is required to succeed. If it succeeds,
- authentication continues down the LoginModule list. If it fails,
- control immediately returns to the application (authentication does not proceed
- down the LoginModule list).
-
- Sufficient - The LoginModule is not required to succeed. If it does
- succeed, control immediately returns to the application (authentication
- does not proceed down the LoginModule list). If it fails,
- authentication continues down the LoginModule list.
-
- Optional - The LoginModule is not required to succeed. If it succeeds or
- fails, authentication still continues to proceed down the
- LoginModule list.
-
- The overall authentication succeeds only if
- all required and requisite LoginModules succeed. If a
- sufficient LoginModule is configured and succeeds, then only
- the required and requisite LoginModules prior to that
- sufficient LoginModule need to have succeeded for the overall
- authentication to succeed. If no required or requisite
- LoginModules are configured for an application, then at least
- one sufficient or optional LoginModule must succeed. </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
- <xs:element name="module-option">
- <xs:annotation>
- <xs:documentation>A module option defines a name, value pair that are
- passed to a LoginModule when it is initialized during the login proceedure.
- The name attribute defines the option name while the element value is the
- option value. The type of the value can be anything from a string obtained
- from the module-option body, to arbitary objects unmarshalled based on
- the namespace associated with the module-option child element.</xs:documentation>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:sequence>
- <xs:any namespace="##any"/>
- </xs:sequence>
- <xs:attribute name="name" use="required" type="xs:NCName">
- <xs:annotation>
- <xs:documentation>The module option name. This is the key used to store
- the module value in the LoginModule initalize options Map.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
-</xs:schema>
-
Copied: trunk/security/src/etc/schema/security-config_4_0.xsd (from rev 79434, trunk/security/src/etc/schema/security-config_4_0.xsd)
===================================================================
--- trunk/security/src/etc/schema/security-config_4_0.xsd (rev 0)
+++ trunk/security/src/etc/schema/security-config_4_0.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://www.jboss.org/j2ee/schema/jaas"
+ targetNamespace="http://www.jboss.org/j2ee/schema/jaas"
+ elementFormDefault="unqualified" attributeFormDefault="unqualified" version="4.0">
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+ $Id: security-config_4_0.xsd 26729 2004-12-19 00:44:45Z starksm $
+ This is the XML Schema for the jboss 4.0 security configuration descriptor.
+ The default version of the descriptor is found in conf/login-config.xml
+ and this version of the schema is indicated using:
+
+ <policy xmlns="http://www.jboss.org/j2ee/schema/jaas"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.jboss.org/j2ee/schema/security-config_4_0.xsd"
+ version="4.0">
+ ...
+ </policy>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute:
+ http://www.jboss.org/j2ee/schema/security-config_4_0.xsd
+
+ The outline of a policy/application-policy is:
+ <policy>
+ <application-policy name="security-domain-name">
+ <authentication>
+ <login-module code="login.module1.class.name" flag="control_flag">
+ <module-option name = "option1-name">option1-value</module-option>
+ <module-option name = "option2-name">option2-value</module-option>
+ ...
+ </login-module>
+
+ <login-module code="login.module2.class.name" flag="control_flag">
+ ...
+ </login-module>
+ ...
+ </authentication>
+ </application-policy>
+ </policy>
+ ]]></xs:documentation>
+ </xs:annotation>
+ <xs:element name="policy">
+ <xs:annotation>
+ <xs:documentation>The policy element is the root of the security
+ configuration descriptor.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="application-policy"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="application-policy">
+ <xs:annotation>
+ <xs:documentation>The application-policy lists configuration for a
+ named policy. This currently only consists of the authentication
+ configuration. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="authentication"/>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="xs:NCName">
+ <xs:annotation>
+ <xs:documentation>The name attribute defines the authentication
+ configuration name. This is the name that would be passed to
+ the JAAS LoginContext ctor to use the associated login module stack.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="authentication">
+ <xs:annotation>
+ <xs:documentation>The authentication element contains the login module
+ stack configuration. Each login module configuration is specified
+ using a login-module element.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="login-module"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="login-module">
+ <xs:annotation>
+ <xs:documentation>The login-module element defines a JAAS login module
+ configuration entry. Each entry must have a code and flag attribute
+ along with zero or more login module options specified via the
+ module-option element. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="module-option"/>
+ </xs:sequence>
+ <xs:attribute name="code" use="required">
+ <xs:annotation>
+ <xs:documentation>The code attribute gives the fully qualifed class
+ name of the javax.security.auth.spi.LoginModule interface implementation
+ for the login module.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="flag" use="required">
+ <xs:annotation>
+ <xs:documentation>The flag attribute controls how a login module
+ participates in the overall authentication proceedure.
+ Required - The LoginModule is required to succeed. If it
+ succeeds or fails, authentication still continues to proceed
+ down the LoginModule list.
+
+ Requisite - The LoginModule is required to succeed. If it succeeds,
+ authentication continues down the LoginModule list. If it fails,
+ control immediately returns to the application (authentication does not proceed
+ down the LoginModule list).
+
+ Sufficient - The LoginModule is not required to succeed. If it does
+ succeed, control immediately returns to the application (authentication
+ does not proceed down the LoginModule list). If it fails,
+ authentication continues down the LoginModule list.
+
+ Optional - The LoginModule is not required to succeed. If it succeeds or
+ fails, authentication still continues to proceed down the
+ LoginModule list.
+
+ The overall authentication succeeds only if
+ all required and requisite LoginModules succeed. If a
+ sufficient LoginModule is configured and succeeds, then only
+ the required and requisite LoginModules prior to that
+ sufficient LoginModule need to have succeeded for the overall
+ authentication to succeed. If no required or requisite
+ LoginModules are configured for an application, then at least
+ one sufficient or optional LoginModule must succeed. </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="module-option">
+ <xs:annotation>
+ <xs:documentation>A module option defines a name, value pair that are
+ passed to a LoginModule when it is initialized during the login proceedure.
+ The name attribute defines the option name while the element value is the
+ option value. The type of the value can be anything from a string obtained
+ from the module-option body, to arbitary objects unmarshalled based on
+ the namespace associated with the module-option child element.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:any namespace="##any"/>
+ </xs:sequence>
+ <xs:attribute name="name" use="required" type="xs:NCName">
+ <xs:annotation>
+ <xs:documentation>The module option name. This is the key used to store
+ the module value in the LoginModule initalize options Map.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
Deleted: trunk/security/src/etc/schema/security-config_4_1.xsd
===================================================================
--- trunk/security/src/etc/schema/security-config_4_1.xsd 2008-10-14 02:16:28 UTC (rev 79434)
+++ trunk/security/src/etc/schema/security-config_4_1.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id: security-config_4_1.xsd 45686 2006-06-20 04:47:48Z asaldhana $ -->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- xmlns:jaas="urn:jboss:security-config:4.1"
- xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
- targetNamespace="urn:jboss:security-config:4.1">
-
- <xsd:annotation>
- <xsd:documentation><![CDATA[
- The login-config.xml schema with jbossxb annotations that map conforming
- documents to the org.jboss.security.auth.login.PolicyConfig.
- $Id: security-config_4_1.xsd 45686 2006-06-20 04:47:48Z asaldhana $
- This is the XML Schema for the jboss 4.1 security configuration descriptor.
- The default version of the descriptor is found in conf/login-config.xml
- and this version of the schema is indicated using:
-
- <policy xmlns="urn:jboss:security-config:4.1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- version="4.1">
- ...
- </policy>
-
- The outline of a policy/application-policy is:
- <policy>
- <application-policy name="security-domain-name">
- <authentication>
- <login-module code="login.module1.class.name" flag="control_flag">
- <module-option name = "option1-name">option1-value</module-option>
- <module-option name = "option2-name">option2-value</module-option>
- ...
- </login-module>
-
- <login-module code="login.module2.class.name" flag="control_flag">
- ...
- </login-module>
- ...
- </authentication>
- </application-policy>
- </policy>
- ]]></xsd:documentation>
- <xsd:appinfo>
- <jbxb:schemaBindings>
- <jbxb:package name="org.jboss.security.config"/>
- <jbxb:ignoreUnresolvedFieldOrClass>false</jbxb:ignoreUnresolvedFieldOrClass>
- </jbxb:schemaBindings>
- </xsd:appinfo>
- </xsd:annotation>
-
- <xsd:element name="policy">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>The policy element is the root of the security
- configuration descriptor.</xsd:documentation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.config.PolicyConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" ref="jaas:application-policy"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="application-policy">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>The application-policy lists configuration for a
- named policy. This currently only consists of the authentication
- configuration. </xsd:documentation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.config.ApplicationPolicyContainer"/>
- <jbxb:addMethod name="add" valueType="org.jboss.security.config.ApplicationPolicy"/>
- </xsd:appinfo>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element ref="jaas:authentication"/>
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="authentication">
- <xsd:annotation>
- <xsd:documentation>The authentication element contains the login module
- stack configuration. Each login module configuration is specified
- using a login-module element.</xsd:documentation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" ref="jaas:login-module"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="login-module">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>The login-module element defines a JAAS login module
- configuration entry. Each entry must have a code and flag attribute
- along with zero or more login module options specified via the
- module-option element. </xsd:documentation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.auth.login.AppConfigurationEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element minOccurs="0" maxOccurs="unbounded" ref="jaas:module-option"/>
- </xsd:sequence>
- <xsd:attribute name="code" use="required" type="xsd:string"/>
- <xsd:attribute name="flag" use="required">
- <xsd:annotation>
- <xsd:documentation>The flag attribute controls how a login module
- participates in the overall authentication proceedure.
- Required - The LoginModule is required to succeed. If it
- succeeds or fails, authentication still continues to proceed
- down the LoginModule list.
-
- Requisite - The LoginModule is required to succeed. If it succeeds,
- authentication continues down the LoginModule list. If it fails,
- control immediately returns to the application (authentication does not proceed
- down the LoginModule list).
-
- Sufficient - The LoginModule is not required to succeed. If it does
- succeed, control immediately returns to the application (authentication
- does not proceed down the LoginModule list). If it fails,
- authentication continues down the LoginModule list.
-
- Optional - The LoginModule is not required to succeed. If it succeeds or
- fails, authentication still continues to proceed down the
- LoginModule list.
-
- The overall authentication succeeds only if
- all required and requisite LoginModules succeed. If a
- sufficient LoginModule is configured and succeeds, then only
- the required and requisite LoginModules prior to that
- sufficient LoginModule need to have succeeded for the overall
- authentication to succeed. If no required or requisite
- LoginModules are configured for an application, then at least
- one sufficient or optional LoginModule must succeed.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="required" />
- <xsd:enumeration value="requisite" />
- <xsd:enumeration value="sufficient" />
- <xsd:enumeration value="optional" />
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="module-option">
- <xsd:complexType mixed="true">
- <xsd:annotation>
- <xsd:documentation>A module option defines a name, value pair that are
- passed to a LoginModule when it is initialized during the login proceedure.
- The name attribute defines the option name while the element value is the
- option value. The type of the value can be anything from a string obtained
- from the module-option body, to arbitary objects unmarshalled based on
- the namespace associated with the module-option child element
- </xsd:documentation>
- <xsd:appinfo>
- <!-- ModuleOption declares a constructor that takes name as a parameter
- while the value should be set with the setter.
- This use-case is not supported out-of-the-box. So, we use this container. -->
- <jbxb:class impl="org.jboss.security.auth.login.ModuleOptionContainer"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:any minOccurs="0" maxOccurs="1" namespace="##other" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema>
Copied: trunk/security/src/etc/schema/security-config_4_1.xsd (from rev 79434, trunk/security/src/etc/schema/security-config_4_1.xsd)
===================================================================
--- trunk/security/src/etc/schema/security-config_4_1.xsd (rev 0)
+++ trunk/security/src/etc/schema/security-config_4_1.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- $Id: security-config_4_1.xsd 45686 2006-06-20 04:47:48Z asaldhana $ -->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ xmlns:jaas="urn:jboss:security-config:4.1"
+ xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
+ targetNamespace="urn:jboss:security-config:4.1">
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ The login-config.xml schema with jbossxb annotations that map conforming
+ documents to the org.jboss.security.auth.login.PolicyConfig.
+ $Id: security-config_4_1.xsd 45686 2006-06-20 04:47:48Z asaldhana $
+ This is the XML Schema for the jboss 4.1 security configuration descriptor.
+ The default version of the descriptor is found in conf/login-config.xml
+ and this version of the schema is indicated using:
+
+ <policy xmlns="urn:jboss:security-config:4.1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ version="4.1">
+ ...
+ </policy>
+
+ The outline of a policy/application-policy is:
+ <policy>
+ <application-policy name="security-domain-name">
+ <authentication>
+ <login-module code="login.module1.class.name" flag="control_flag">
+ <module-option name = "option1-name">option1-value</module-option>
+ <module-option name = "option2-name">option2-value</module-option>
+ ...
+ </login-module>
+
+ <login-module code="login.module2.class.name" flag="control_flag">
+ ...
+ </login-module>
+ ...
+ </authentication>
+ </application-policy>
+ </policy>
+ ]]></xsd:documentation>
+ <xsd:appinfo>
+ <jbxb:schemaBindings>
+ <jbxb:package name="org.jboss.security.config"/>
+ <jbxb:ignoreUnresolvedFieldOrClass>false</jbxb:ignoreUnresolvedFieldOrClass>
+ </jbxb:schemaBindings>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:element name="policy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>The policy element is the root of the security
+ configuration descriptor.</xsd:documentation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.config.PolicyConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" ref="jaas:application-policy"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="application-policy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>The application-policy lists configuration for a
+ named policy. This currently only consists of the authentication
+ configuration. </xsd:documentation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.config.ApplicationPolicyContainer"/>
+ <jbxb:addMethod name="add" valueType="org.jboss.security.config.ApplicationPolicy"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element ref="jaas:authentication"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="authentication">
+ <xsd:annotation>
+ <xsd:documentation>The authentication element contains the login module
+ stack configuration. Each login module configuration is specified
+ using a login-module element.</xsd:documentation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" ref="jaas:login-module"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="login-module">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>The login-module element defines a JAAS login module
+ configuration entry. Each entry must have a code and flag attribute
+ along with zero or more login module options specified via the
+ module-option element. </xsd:documentation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.auth.login.AppConfigurationEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element minOccurs="0" maxOccurs="unbounded" ref="jaas:module-option"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" use="required" type="xsd:string"/>
+ <xsd:attribute name="flag" use="required">
+ <xsd:annotation>
+ <xsd:documentation>The flag attribute controls how a login module
+ participates in the overall authentication proceedure.
+ Required - The LoginModule is required to succeed. If it
+ succeeds or fails, authentication still continues to proceed
+ down the LoginModule list.
+
+ Requisite - The LoginModule is required to succeed. If it succeeds,
+ authentication continues down the LoginModule list. If it fails,
+ control immediately returns to the application (authentication does not proceed
+ down the LoginModule list).
+
+ Sufficient - The LoginModule is not required to succeed. If it does
+ succeed, control immediately returns to the application (authentication
+ does not proceed down the LoginModule list). If it fails,
+ authentication continues down the LoginModule list.
+
+ Optional - The LoginModule is not required to succeed. If it succeeds or
+ fails, authentication still continues to proceed down the
+ LoginModule list.
+
+ The overall authentication succeeds only if
+ all required and requisite LoginModules succeed. If a
+ sufficient LoginModule is configured and succeeds, then only
+ the required and requisite LoginModules prior to that
+ sufficient LoginModule need to have succeeded for the overall
+ authentication to succeed. If no required or requisite
+ LoginModules are configured for an application, then at least
+ one sufficient or optional LoginModule must succeed.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="required" />
+ <xsd:enumeration value="requisite" />
+ <xsd:enumeration value="sufficient" />
+ <xsd:enumeration value="optional" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="module-option">
+ <xsd:complexType mixed="true">
+ <xsd:annotation>
+ <xsd:documentation>A module option defines a name, value pair that are
+ passed to a LoginModule when it is initialized during the login proceedure.
+ The name attribute defines the option name while the element value is the
+ option value. The type of the value can be anything from a string obtained
+ from the module-option body, to arbitary objects unmarshalled based on
+ the namespace associated with the module-option child element
+ </xsd:documentation>
+ <xsd:appinfo>
+ <!-- ModuleOption declares a constructor that takes name as a parameter
+ while the value should be set with the setter.
+ This use-case is not supported out-of-the-box. So, we use this container. -->
+ <jbxb:class impl="org.jboss.security.auth.login.ModuleOptionContainer"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:any minOccurs="0" maxOccurs="1" namespace="##other" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
Deleted: trunk/security/src/etc/schema/security-config_5_0.xsd
===================================================================
--- trunk/security/src/etc/schema/security-config_5_0.xsd 2008-10-14 02:16:28 UTC (rev 79434)
+++ trunk/security/src/etc/schema/security-config_5_0.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,272 +0,0 @@
-<!-- $Id: security-config_5_0.xsd 65769 2007-10-02 19:17:34Z anil.saldhana at jboss.com $ -->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:jbsx="urn:jboss:security-config:5.0"
- xmlns="urn:jboss:security-config:5.0"
- xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
- targetNamespace="urn:jboss:security-config:5.0"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:schemaBindings>
- <jbxb:package name="org.jboss.security.config"/>
- <jbxb:ignoreUnresolvedFieldOrClass>
- false</jbxb:ignoreUnresolvedFieldOrClass>
- </jbxb:schemaBindings>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:element name="policy" type="jbsx:PolicyConfig"/>
- <xsd:complexType name="PolicyConfig">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.config.PolicyConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:application-policy" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:element name="application-policy">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.config.ApplicationPolicyContainer"/>
- <jbxb:addMethod name="add" valueType="org.jboss.security.config.ApplicationPolicy"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:choice>
- <xsd:element ref="jbsx:authentication"/>
- <xsd:element ref="jbsx:authentication-jaspi"/>
- </xsd:choice>
- <xsd:element ref="jbsx:authorization" minOccurs="0"/>
- <xsd:element ref="jbsx:rolemapping" minOccurs="0"/>
- <xsd:element ref="jbsx:audit" minOccurs="0"/>
- <xsd:element ref="jbsx:identity-trust" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- <xsd:attribute name="extends" type="xsd:string"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="authentication" type="jbsx:authenticationInfo"/>
- <xsd:element name="authentication-jaspi" type="jbsx:authenticationJaspiInfo"/>
- <xsd:element name="authorization" type="jbsx:authorizationInfo"/>
- <xsd:element name="rolemapping" type="jbsx:roleMappingInfo"/>
- <xsd:element name="audit" type="jbsx:auditInfo"/>
- <xsd:element name="identity-trust" type="jbsx:identityTrustInfo"/>
- <xsd:complexType name="authenticationInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="authenticationJaspiInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:login-module-stack" maxOccurs="unbounded"/>
- <xsd:element ref="jbsx:auth-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="authorizationInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:policy-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="roleMappingInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.mapping.config.RoleMappingConfigContainer"/>
- <jbxb:addMethod name="addMappingInfo"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:mapping-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="auditInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:provider-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
- <xsd:complexType name="identityTrustInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:skip/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:trust-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
-
- <xsd:simpleType name="module-option-flag">
- <xsd:annotation>
- <xsd:documentation>The flag attribute controls how a login module
- participates in the overall authentication proceedure.
- Required - The LoginModule is required to succeed. If it
- succeeds or fails, authentication still continues to proceed
- down the LoginModule list.
-
- Requisite - The LoginModule is required to succeed. If it succeeds,
- authentication continues down the LoginModule list. If it fails,
- control immediately returns to the application (authentication does not proceed
- down the LoginModule list).
-
- Sufficient - The LoginModule is not required to succeed. If it does
- succeed, control immediately returns to the application (authentication
- does not proceed down the LoginModule list). If it fails,
- authentication continues down the LoginModule list.
-
- Optional - The LoginModule is not required to succeed. If it succeeds or
- fails, authentication still continues to proceed down the
- LoginModule list.
-
- The overall authentication succeeds only if
- all required and requisite LoginModules succeed. If a
- sufficient LoginModule is configured and succeeds, then only
- the required and requisite LoginModules prior to that
- sufficient LoginModule need to have succeeded for the overall
- authentication to succeed. If no required or requisite
- LoginModules are configured for an application, then at least
- one sufficient or optional LoginModule must succeed.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="required"/>
- <xsd:enumeration value="requisite"/>
- <xsd:enumeration value="sufficient"/>
- <xsd:enumeration value="optional"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:element name="login-module" type="jbsx:loginModuleInfo"/>
- <xsd:complexType name="loginModuleInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.auth.login.AppConfigurationEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
- </xsd:complexType>
-
- <xsd:element name="module-option">
- <xsd:complexType mixed="true">
- <xsd:annotation>
- <xsd:appinfo>
- <!-- ModuleOption declares a constructor that takes name as a parameter
- while the value should be set with the setter.
-
- This use-case is not supported out-of-the-box. So, we use this container. -->
- <jbxb:class impl="org.jboss.security.auth.login.ModuleOptionContainer"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:any namespace="##other" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="login-module-stack">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.auth.login.LoginModuleStackContainer"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="auth-module" type="jbsx:authModuleInfo"/>
- <xsd:complexType name="authModuleInfo">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.auth.container.config.AuthModuleEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- <xsd:attribute name="login-module-stack-ref" type="xsd:string"/>
- </xsd:complexType>
- <xsd:element name="policy-module">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.authorization.config.AuthorizationConfigEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="mapping-module">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.mapping.config.MappingConfigEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="provider-module">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.audit.config.AuditConfigEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="trust-module">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.security.identitytrust.config.IdentityTrustConfigEntryHolder"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="code" type="xsd:string" use="required"/>
- <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
- </xsd:complexType>
- </xsd:element>
-</xsd:schema>
Copied: trunk/security/src/etc/schema/security-config_5_0.xsd (from rev 79434, trunk/security/src/etc/schema/security-config_5_0.xsd)
===================================================================
--- trunk/security/src/etc/schema/security-config_5_0.xsd (rev 0)
+++ trunk/security/src/etc/schema/security-config_5_0.xsd 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,272 @@
+<!-- $Id: security-config_5_0.xsd 65769 2007-10-02 19:17:34Z anil.saldhana at jboss.com $ -->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jbsx="urn:jboss:security-config:5.0"
+ xmlns="urn:jboss:security-config:5.0"
+ xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
+ targetNamespace="urn:jboss:security-config:5.0"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:schemaBindings>
+ <jbxb:package name="org.jboss.security.config"/>
+ <jbxb:ignoreUnresolvedFieldOrClass>
+ false</jbxb:ignoreUnresolvedFieldOrClass>
+ </jbxb:schemaBindings>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:element name="policy" type="jbsx:PolicyConfig"/>
+ <xsd:complexType name="PolicyConfig">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.config.PolicyConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:application-policy" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="application-policy">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.config.ApplicationPolicyContainer"/>
+ <jbxb:addMethod name="add" valueType="org.jboss.security.config.ApplicationPolicy"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element ref="jbsx:authentication"/>
+ <xsd:element ref="jbsx:authentication-jaspi"/>
+ </xsd:choice>
+ <xsd:element ref="jbsx:authorization" minOccurs="0"/>
+ <xsd:element ref="jbsx:rolemapping" minOccurs="0"/>
+ <xsd:element ref="jbsx:audit" minOccurs="0"/>
+ <xsd:element ref="jbsx:identity-trust" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="extends" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="authentication" type="jbsx:authenticationInfo"/>
+ <xsd:element name="authentication-jaspi" type="jbsx:authenticationJaspiInfo"/>
+ <xsd:element name="authorization" type="jbsx:authorizationInfo"/>
+ <xsd:element name="rolemapping" type="jbsx:roleMappingInfo"/>
+ <xsd:element name="audit" type="jbsx:auditInfo"/>
+ <xsd:element name="identity-trust" type="jbsx:identityTrustInfo"/>
+ <xsd:complexType name="authenticationInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="authenticationJaspiInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:login-module-stack" maxOccurs="unbounded"/>
+ <xsd:element ref="jbsx:auth-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="authorizationInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:policy-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="roleMappingInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.mapping.config.RoleMappingConfigContainer"/>
+ <jbxb:addMethod name="addMappingInfo"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:mapping-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="auditInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:provider-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="identityTrustInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:skip/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:trust-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:simpleType name="module-option-flag">
+ <xsd:annotation>
+ <xsd:documentation>The flag attribute controls how a login module
+ participates in the overall authentication proceedure.
+ Required - The LoginModule is required to succeed. If it
+ succeeds or fails, authentication still continues to proceed
+ down the LoginModule list.
+
+ Requisite - The LoginModule is required to succeed. If it succeeds,
+ authentication continues down the LoginModule list. If it fails,
+ control immediately returns to the application (authentication does not proceed
+ down the LoginModule list).
+
+ Sufficient - The LoginModule is not required to succeed. If it does
+ succeed, control immediately returns to the application (authentication
+ does not proceed down the LoginModule list). If it fails,
+ authentication continues down the LoginModule list.
+
+ Optional - The LoginModule is not required to succeed. If it succeeds or
+ fails, authentication still continues to proceed down the
+ LoginModule list.
+
+ The overall authentication succeeds only if
+ all required and requisite LoginModules succeed. If a
+ sufficient LoginModule is configured and succeeds, then only
+ the required and requisite LoginModules prior to that
+ sufficient LoginModule need to have succeeded for the overall
+ authentication to succeed. If no required or requisite
+ LoginModules are configured for an application, then at least
+ one sufficient or optional LoginModule must succeed.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="required"/>
+ <xsd:enumeration value="requisite"/>
+ <xsd:enumeration value="sufficient"/>
+ <xsd:enumeration value="optional"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="login-module" type="jbsx:loginModuleInfo"/>
+ <xsd:complexType name="loginModuleInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.auth.login.AppConfigurationEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+ </xsd:complexType>
+
+ <xsd:element name="module-option">
+ <xsd:complexType mixed="true">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- ModuleOption declares a constructor that takes name as a parameter
+ while the value should be set with the setter.
+
+ This use-case is not supported out-of-the-box. So, we use this container. -->
+ <jbxb:class impl="org.jboss.security.auth.login.ModuleOptionContainer"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:any namespace="##other" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="login-module-stack">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.auth.login.LoginModuleStackContainer"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:login-module" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="auth-module" type="jbsx:authModuleInfo"/>
+ <xsd:complexType name="authModuleInfo">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.auth.container.config.AuthModuleEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ <xsd:attribute name="login-module-stack-ref" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:element name="policy-module">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.authorization.config.AuthorizationConfigEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="mapping-module">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.mapping.config.MappingConfigEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="provider-module">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.audit.config.AuditConfigEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="trust-module">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.security.identitytrust.config.IdentityTrustConfigEntryHolder"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element ref="jbsx:module-option" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="code" type="xsd:string" use="required"/>
+ <xsd:attribute name="flag" type="jbsx:module-option-flag" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
Modified: trunk/server/src/etc/conf/default/bindings.xml
===================================================================
--- trunk/server/src/etc/conf/default/bindings.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/conf/default/bindings.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -10,8 +10,6 @@
<bean name="ServiceBindingManager" class="org.jboss.services.binding.ServiceBindingManager">
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.system:service=ServiceBindingManager", exposedInterface=org.jboss.services.binding.ServiceBindingManagerMBean.class, registerDirectly=true)</annotation>
-
<constructor>
<!-- The set of bindings to use for this server -->
<parameter>${jboss.service.binding.set:ports-default}</parameter>
Copied: trunk/server/src/etc/conf/default/jboss-minimal.xml (from rev 79434, trunk/server/src/etc/conf/default/jboss-minimal.xml)
===================================================================
--- trunk/server/src/etc/conf/default/jboss-minimal.xml (rev 0)
+++ trunk/server/src/etc/conf/default/jboss-minimal.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- A minimal JBoss Server Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
+ can be restricted to specific jars by specifying them in the archives
+ attribute.
+ -->
+ <classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
+
+ <!-- ==================================================================== -->
+ <!-- Log4j Initialization -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.logging.Log4jService"
+ name="jboss.system:type=Log4jService,service=Logging">
+ <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>
+ </mbean>
+
+ <!-- A Thread pool service -->
+ <mbean code="org.jboss.util.threadpool.BasicThreadPool"
+ name="jboss.system:service=ThreadPool">
+ <attribute name="Name">JBoss System Threads</attribute>
+ <attribute name="ThreadGroupName">System Threads</attribute>
+ <!-- How long a thread will live without any tasks in MS -->
+ <attribute name="KeepAliveTime">60000</attribute>
+ <!-- The max number of threads in the pool -->
+ <attribute name="MaximumPoolSize">10</attribute>
+ <!-- The max number of tasks before the queue is full -->
+ <attribute name="MaximumQueueSize">1000</attribute>
+ <!-- The behavior of the pool when a task is added and the queue is full.
+ abort - a RuntimeException is thrown
+ run - the calling thread executes the task
+ wait - the calling thread blocks until the queue has room
+ discard - the task is silently discarded without being run
+ discardOldest - check to see if a task is about to complete and enque
+ the new task if possible, else run the task in the calling thread
+ -->
+ <attribute name="BlockingMode">run</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- JNDI -->
+ <!-- ==================================================================== -->
+
+ <!-- A simple mbean wrapper around the jndi Naming object. This
+ only handles an in memory instance. The NamingService uses this
+ as the JNDI store and exposes it remotely.
+ -->
+ <mbean code="org.jnp.server.NamingBeanImpl"
+ name="jboss:service=NamingBeanImpl"
+ xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml">
+ </mbean>
+
+ <mbean code="org.jboss.naming.NamingService"
+ name="jboss:service=Naming"
+ xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
+ <!-- The call by value mode. true if all lookups are unmarshalled using
+ the caller's TCL, false if in VM lookups return the value by reference.
+ -->
+ <attribute name="CallByValue">false</attribute>
+ <!-- The listening port for the bootstrap JNP service. Set this to -1
+ to run the NamingService without the JNP invoker listening port.
+ -->
+ <attribute name="Port">1099</attribute>
+ <!-- The bootstrap JNP server bind address. This also sets the default
+ RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <!-- The port of the RMI naming service, 0 == anonymous -->
+ <attribute name="RmiPort">1098</attribute>
+ <!-- The RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
+ <!-- The thread pool service used to control the bootstrap lookups -->
+ <depends optional-attribute-name="LookupPool"
+ proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+ <!-- An example of using the unifed invoker as the transport.
+ <depends optional-attribute-name="InvokerProxyFactory"
+ proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>
+ -->
+ <depends optional-attribute-name="Naming"
+ proxy-type="attribute">jboss:service=NamingBeanImpl</depends>
+ </mbean>
+
+</server>
Modified: trunk/server/src/etc/conf/default/jboss-service.xml
===================================================================
--- trunk/server/src/etc/conf/default/jboss-service.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/conf/default/jboss-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -9,25 +9,310 @@
<server>
<!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
- can be restricted to specific jars by specifying them in the archives attribute. -->
+ can be restricted to specific jars by specifying them in the archives
+ attribute.
+ -->
<classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
<!-- ==================================================================== -->
+ <!-- Main Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.MainDeployer"
+ name="jboss.system:service=MainDeployer">
+ <!-- This is used to delegate the deployment handling -->
+ <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
+ <!-- This is used to validate incomplete deployments -->
+ <attribute name="Controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- SAR Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.SARDeployer"
+ name="jboss.system:service=ServiceDeployer">
+ <depends>jboss.system:service=MainDeployer</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- JSR-77 Single JBoss Server Management Domain -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
+ name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
+ <attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
+ <attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
+ <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
+ <attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
+ <attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
+ <attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
+ <attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
+ <attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
+ <attribute name="MailService">jboss:service=Mail</attribute>
+ <attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
+ <attribute name="JNDIService">jboss:service=Naming</attribute>
+ <attribute name="JTAService">jboss:service=TransactionManager</attribute>
+ <attribute name="UserTransactionService">jboss:service=DistributedTransactionManager</attribute>
+ <attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
+ <depends>jboss.system:service=MainDeployer</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- XMBean Persistence -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.system.pm.AttributePersistenceService"
+ name="jboss:service=AttributePersistenceService"
+ xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
+ <!-- the AttributePersistenceService is persistent, itself -->
+
+ <!--
+ <attribute name="AttributePersistenceManagerClass">org.jboss.system.pm.XMLAttributePersistenceManager</attribute>
+ <attribute name="AttributePersistenceManagerConfig">
+ <data-directory>data/xmbean-attrs</data-directory>
+ </attribute>
+ <attribute name="ApmDestroyOnServiceStop">false</attribute>
+ <attribute name="VersionTag"></attribute>
+ -->
+ </mbean>
+
+ <!-- A Thread pool service -->
+ <mbean code="org.jboss.util.threadpool.BasicThreadPool"
+ name="jboss.system:service=ThreadPool">
+ <attribute name="Name">JBoss System Threads</attribute>
+ <attribute name="ThreadGroupName">System Threads</attribute>
+ <!-- How long a thread will live without any tasks in MS -->
+ <attribute name="KeepAliveTime">60000</attribute>
+ <!-- The max number of threads in the pool -->
+ <attribute name="MaximumPoolSize">10</attribute>
+ <!-- The max number of tasks before the queue is full -->
+ <attribute name="MaximumQueueSize">1000</attribute>
+ <!-- The behavior of the pool when a task is added and the queue is full.
+ abort - a RuntimeException is thrown
+ run - the calling thread executes the task
+ wait - the calling thread blocks until the queue has room
+ discard - the task is silently discarded without being run
+ discardOldest - check to see if a task is about to complete and enque
+ the new task if possible, else run the task in the calling thread
+ -->
+ <attribute name="BlockingMode">run</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
<!-- Log4j Initialization -->
<!-- ==================================================================== -->
<mbean code="org.jboss.logging.Log4jService"
name="jboss.system:type=Log4jService,service=Logging"
- xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
-
+ xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
<attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>
<!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
this needs to be set to avoid a possible deadlock on exception at the
- appender level. See bug#696819. -->
+ appender level. See bug#696819.
+ -->
<attribute name="Log4jQuietMode">true</attribute>
-
<!-- How frequently in seconds the ConfigurationURL is checked for changes -->
<attribute name="RefreshPeriod">60</attribute>
</mbean>
+ <!-- ==================================================================== -->
+ <!-- Active Alarm Table -->
+ <!-- ==================================================================== -->
+
+ <!--
+ | The ActiveAlarmTable service is a simple JMX notification listener
+ | that maintains a table with the received notifications (alarms).
+ | The alarms can be acknowledged through the jmx or the web console.
+ | Modify the SubscriptionList below to subscribe for any notification
+ | in the system and treat it as an alarm.
+ | The JMXNotificationAppender is a log4j Appender that can be configured
+ | in log4j.xml, that trasforms logging events to JMX notification so they
+ | can be fed back into the table. By storing the WARN or higher level logging
+ | events you can have a quick view of important system faults.
+ |
+ | The following attributes may be set:
+ |
+ | MaxTableSize (default 1000)
+ | - set an upper limit to the number of stored alarms
+ | LogLevel (default DEBUG)
+ | - the log level to use for received notification, can be set to NONE
+ | ServerId (default jboss)
+ | - used to construct unique alarm ids
+ | SubscriptionList
+ | - subscribe for the notifications to be stored in the table
+
+ <mbean code="org.jboss.monitor.services.ActiveAlarmTable"
+ name="jboss.monitor:service=ActiveAlarmTable">
+ <attribute name="SubscriptionList">
+ <subscription-list>
+ <mbean name="jboss.monitor:*">
+ <notification type="jboss.alarm"/>
+ <notification type="JBOSS_MONITOR_NOTIFICATION"/>
+ </mbean>
+ <mbean name="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+ </subscription-list>
+ </attribute>
+ </mbean>
+ -->
+
+ <!-- ==================================================================== -->
+ <!-- JBoss RMI Classloader - only install when available -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"
+ name="jboss.rmi:type=RMIClassLoader">
+ <attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>
+ <attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Class Loading -->
+ <!-- ==================================================================== -->
+
+ <!-- A mini webserver used for dynamic and class and resource loading -->
+ <mbean code="org.jboss.web.WebService"
+ name="jboss:service=WebService">
+ <!-- The Bind address and Port -->
+ <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="Port">
+ <!-- Get the port to use from ServiceBindingManager. -->
+ <value-factory bean="ServiceBindingManager" method="getIntBinding" parameter="jboss:service=WebService"/>
+ </attribute>
+ <!-- The address to use for the host portion of the RMI codebase URL -->
+ <attribute name="Host">${java.rmi.server.hostname}</attribute>
+ <!-- Should non-EJB .class files be downloadable -->
+ <attribute name="DownloadServerClasses">true</attribute>
+ <!-- Should resources other than .class files be downloadable. Both
+ DownloadServerClasses and DownloadResources must be true for resources
+ to be downloadable. This is false by default because its generally a
+ bad idea as server configuration files that container security
+ information can be accessed.
+ -->
+ <attribute name="DownloadResources">false</attribute>
+
+ <!-- Use the default thread pool for dynamic class loading -->
+ <depends optional-attribute-name="ThreadPool"
+ proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- JNDI -->
+ <!-- ==================================================================== -->
+
+ <!-- A simple mbean wrapper around the jndi Naming object. This
+ only handles an in memory instance. The NamingService uses this
+ as the JNDI store and exposes it remotely.
+ -->
+ <mbean code="org.jnp.server.NamingBeanImpl"
+ name="jboss:service=NamingBeanImpl"
+ xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml">
+ </mbean>
+
+ <mbean code="org.jboss.naming.NamingService"
+ name="jboss:service=Naming"
+ xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
+ <!-- The call by value mode. true if all lookups are unmarshalled using
+ the caller's TCL, false if in VM lookups return the value by reference.
+ -->
+ <attribute name="CallByValue">false</attribute>
+
+ <!-- The listening port for the bootstrap JNP service. Set this to -1
+ to run the NamingService without the JNP invoker listening port.
+ -->
+ <attribute name="Port">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding">
+ <parameter>jboss:service=Naming</parameter>
+ <parameter>Port</parameter>
+ </value-factory>
+ </attribute>
+
+ <!-- The bootstrap JNP server bind address. This also sets the default
+ RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <!-- The port of the RMI naming service, 0 == anonymous -->
+ <attribute name="RmiPort">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding">
+ <parameter>jboss:service=Naming</parameter>
+ <parameter>RmiPort</parameter>
+ </value-factory>
+ </attribute>
+ <!-- The RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
+ <!-- The thread pool service used to control the bootstrap lookups -->
+ <depends optional-attribute-name="LookupPool"
+ proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+ <!-- An example of using the unifed invoker as the transport.
+ <depends optional-attribute-name="InvokerProxyFactory"
+ proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>
+ -->
+ <depends optional-attribute-name="Naming"
+ proxy-type="attribute">jboss:service=NamingBeanImpl</depends>
+ </mbean>
+
+ <mbean code="org.jboss.naming.JNDIView"
+ name="jboss:service=JNDIView"
+ xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
+ <!-- The HANamingService service name -->
+ <attribute name="HANamingService">jboss:service=HAJNDI</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Security -->
+ <!-- ==================================================================== -->
+
+ <!-- JAAS security manager and realm mapping -->
+ <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
+ name="jboss.security:service=JaasSecurityManager">
+ <!-- A flag which indicates whether the SecurityAssociation server mode
+ is set on service creation. This is true by default since the
+ SecurityAssociation should be thread local for multi-threaded server
+ operation.
+ -->
+ <attribute name="ServerMode">true</attribute>
+ <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
+ <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute>
+ <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
+ in seconds.
+ If you want to disable caching of security credentials, set this to 0 to
+ force authentication to occur every time. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheTimeout">1800</attribute>
+ <!-- DefaultCacheResolution: Specifies the default timed cache policy
+ resolution in seconds. This controls the interval at which the cache
+ current timestamp is updated and should be less than the DefaultCacheTimeout
+ in order for the timeout to be meaningful. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheResolution">60</attribute>
+ <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
+ security managers to be deep copies that makes copies of the subject
+ principals and credentials if they are cloneable. It should be set to
+ true if subject include mutable content that can be corrupted when
+ multiple threads have the same identity and cache flushes/logout clearing
+ the subject in one thread results in subject references affecting other
+ threads.
+ -->
+ <attribute name="DeepCopySubjectMode">false</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Monitoring and Management -->
+ <!-- ==================================================================== -->
+
+ <!-- Uncomment to enable JMX monitoring of the bean cache
+ <mbean code="org.jboss.monitor.BeanCacheMonitor"
+ name="jboss.monitor:name=BeanCacheMonitor"/>
+ -->
+
+ <!-- Uncomment to enable JMX monitoring of the entity bean locking
+ <mbean code="org.jboss.monitor.EntityLockMonitor"
+ name="jboss.monitor:name=EntityLockMonitor"/>
+ -->
+
+ <!-- ==================================================================== -->
+ <!-- An MBean that is a registry for JDBC type-mapping metadata -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary"
+ name="jboss.jdbc:service=metadata"/>
+
</server>
Deleted: trunk/server/src/etc/conf/default/xmdesc/Main-xmbean.xml
===================================================================
--- trunk/server/src/etc/conf/default/xmdesc/Main-xmbean.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/conf/default/xmdesc/Main-xmbean.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mbean PUBLIC
- "-//JBoss//DTD JBOSS XMBEAN 1.1//EN"
- "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_1.dtd"
-[
-<!ATTLIST interceptor proxyName CDATA #IMPLIED>
-]>
-
-<!-- The JNDI Naming service XMBean
- $Id: NamingService-xmbean.xml 60241 2007-02-03 18:49:26Z scott.stark at jboss.org $
--->
-<mbean>
- <description>The standard JBoss JNDI naming server.
- </description>
-
- <descriptors>
- <interceptors>
- <interceptor code="org.jboss.mx.interceptor.PersistenceInterceptor2" />
- <interceptor code="org.jboss.mx.interceptor.ModelMBeanInterceptor" />
- <interceptor code="org.jboss.mx.interceptor.ObjectReferenceInterceptor" />
- </interceptors>
- </descriptors>
-
- <class>org.jnp.server.Main</class>
-
- <constructor>
- <description>The default constructor</description>
- <name>Main</name>
- </constructor>
-
- <attribute access="read-write" getMethod="getNamingInfo" setMethod="setNamingInfo">
- <description>Underlying Naming bean instance</description>
- <name>Naming</name>
- <type>org.jnp.server.NamingBean</type>
- </attribute>
- <attribute access="read-only" getMethod="getNamingInstance">
- <description>Underlying Naming bean instance</description>
- <name>NamingInstance</name>
- <type>org.jnp.interfaces.Naming</type>
- </attribute>
- <attribute access="read-write" getMethod="getCallByValue" setMethod="setCallByValue">
- <description>The call by value mode. true if all lookups are unmarshalled using
- the caller's TCL, false if in VM lookups return the value by reference.</description>
- <name>CallByValue</name>
- <type>boolean</type>
- </attribute>
- <attribute access="read-write" getMethod="getBindAddress" setMethod="setBindAddress">
- <description>The bind address of the bootstrap lookup socket.</description>
- <name>BindAddress</name>
- <type>java.lang.String</type>
- </attribute>
- <attribute access="read-write" getMethod="getPort" setMethod="setPort">
- <description>The listening port for the bootstrap JNP service. Set this to -1
- to run the NamingService without the JNP invoker listening port.</description>
- <name>Port</name>
- <type>int</type>
- </attribute>
- <attribute access="read-write" getMethod="getBacklog" setMethod="setBacklog">
- <description>The bootstrap socket backlog count.</description>
- <name>Backlog</name>
- <type>int</type>
- </attribute>
- <attribute access="read-write" getMethod="getJNPServerSocketFactory"
- setMethod="setJNPServerSocketFactory">
- <description>The bootstrap socket javax.net.ServerSocketFactory class name</description>
- <name>JNPServerSocketFactory</name>
- <type>java.lang.String</type>
- </attribute>
- <attribute access="read-write" getMethod="getJNPServerSocketFactoryBean"
- setMethod="setJNPServerSocketFactoryBean">
- <description>The bootstrap socket javax.net.ServerSocketFactory</description>
- <name>JNPServerSocketFactoryBean</name>
- <type>javax.net.ServerSocketFactory</type>
- </attribute>
-
- <attribute access="read-write" getMethod="getRmiPort" setMethod="setRmiPort">
- <description>The port of the RMI naming service, 0 == anonymous. This
- is only used if an explicit InvokerProxyFactory has not been set.</description>
- <name>RmiPort</name>
- <type>int</type>
- </attribute>
- <attribute access="read-write" getMethod="getRmiBindAddress" setMethod="setRmiBindAddress">
- <description>The RMI service bind address. Empty == all addresses</description>
- <name>RmiBindAddress</name>
- <type>java.lang.String</type>
- </attribute>
- <attribute access="read-write" getMethod="getClientSocketFactory" setMethod="setClientSocketFactory">
- <description>The RMI service java.rmi.server.RMIClientSocketFactory class name</description>
- <name>ClientSocketFactory</name>
- <type>java.lang.String</type>
- </attribute>
- <attribute access="read-write" getMethod="getClientSocketFactoryBean" setMethod="setClientSocketFactoryBean">
- <description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
- <name>ClientSocketFactoryBean</name>
- <type>java.rmi.server.RMIClientSocketFactory</type>
- </attribute>
- <attribute access="read-write" getMethod="getServerSocketFactory" setMethod="setServerSocketFactory">
- <description>The RMI service java.rmi.server.RMIServerSocketFactory class name</description>
- <name>ServerSocketFactory</name>
- <type>java.lang.String</type>
- </attribute>
- <attribute access="read-write" getMethod="getServerSocketFactoryBean" setMethod="setServerSocketFactoryBean">
- <description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
- <name>ServerSocketFactory</name>
- <type>java.rmi.server.RMIServerSocketFactory</type>
- </attribute>
-
- <attribute access="read-write" getMethod="getInstallGlobalService"
- setMethod="setInstallGlobalService">
- <description>Ghe InstallGlobalService which defines whether the MainMBean's
- Naming server will be installed as the NamingContext.setLocal global
- value.</description>
- <name>InstallGlobalService</name>
- <type>boolean</type>
- </attribute>
- <attribute access="read-write" getMethod="getUseGlobalService"
- setMethod="setUseGlobalService">
- <description>The UseGlobalService which defines whether the MainMBean's
- Naming server will initialized from the existing NamingContext.setLocal global
- value.</description>
- <name>UseGlobalService</name>
- <type>boolean</type>
- </attribute>
- <attribute access="write-only" setMethod="setLookupPool">
- <description>The thread pool service used to control the bootstrap lookups</description>
- <name>LookupPool</name>
- <type>org.jboss.util.threadpool.BasicThreadPoolMBean</type>
- </attribute>
- <attribute access="write-only" setMethod="setNamingProxy">
- <description>The Naming proxy to use for the naming
- service transport.</description>
- <name>NamingProxy</name>
- <type>java.lang.Object</type>
- </attribute>
-
- <operation>
- <description>The start lifecycle operation</description>
- <name>start</name>
- </operation>
- <operation>
- <description>The stop lifecycle operation</description>
- <name>stop</name>
- </operation>
-
-</mbean>
-
\ No newline at end of file
Modified: trunk/server/src/etc/conf/default/xmdesc/NamingService-xmbean.xml
===================================================================
--- trunk/server/src/etc/conf/default/xmdesc/NamingService-xmbean.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/conf/default/xmdesc/NamingService-xmbean.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -34,21 +34,111 @@
<description>The default constructor</description>
<name>NamingService</name>
</constructor>
-
+
+ &defaultAttributes;
+
<attribute access="read-only" getMethod="getMethodMap">
<name>MethodMap</name>
<type>java.util.Map</type>
</attribute>
- <attribute access="read-write" getMethod="getNamingMain" setMethod="setNamingMain">
- <description>Underlying MainMBean bean instance</description>
- <name>NamingMain</name>
- <type>org.jnp.server.MainMBean</type>
+ <attribute access="read-write" getMethod="getNaming" setMethod="setNaming">
+ <description>Underlying Naming bean instance</description>
+ <name>Naming</name>
+ <type>org.jnp.server.NamingBean</type>
</attribute>
<attribute access="read-only" getMethod="getNamingInstance">
<description>Underlying Naming bean instance</description>
<name>NamingInstance</name>
<type>org.jnp.interfaces.Naming</type>
</attribute>
+ <attribute access="read-write" getMethod="getCallByValue" setMethod="setCallByValue">
+ <description>The call by value mode. true if all lookups are unmarshalled using
+ the caller's TCL, false if in VM lookups return the value by reference.</description>
+ <name>CallByValue</name>
+ <type>boolean</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getBindAddress" setMethod="setBindAddress">
+ <description>The bind address of the bootstrap lookup socket.</description>
+ <name>BindAddress</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getPort" setMethod="setPort">
+ <description>The listening port for the bootstrap JNP service. Set this to -1
+ to run the NamingService without the JNP invoker listening port.</description>
+ <name>Port</name>
+ <type>int</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getBacklog" setMethod="setBacklog">
+ <description>The bootstrap socket backlog count.</description>
+ <name>Backlog</name>
+ <type>int</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getJNPServerSocketFactory"
+ setMethod="setJNPServerSocketFactory">
+ <description>The bootstrap socket javax.net.ServerSocketFactory class name</description>
+ <name>JNPServerSocketFactory</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getJNPServerSocketFactoryBean"
+ setMethod="setJNPServerSocketFactoryBean">
+ <description>The bootstrap socket javax.net.ServerSocketFactory</description>
+ <name>JNPServerSocketFactoryBean</name>
+ <type>javax.net.ServerSocketFactory</type>
+ </attribute>
+
+ <attribute access="read-write" getMethod="getRmiPort" setMethod="setRmiPort">
+ <description>The port of the RMI naming service, 0 == anonymous. This
+ is only used if an explicit InvokerProxyFactory has not been set.</description>
+ <name>RmiPort</name>
+ <type>int</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getRmiBindAddress" setMethod="setRmiBindAddress">
+ <description>The RMI service bind address. Empty == all addresses</description>
+ <name>RmiBindAddress</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getClientSocketFactory" setMethod="setClientSocketFactory">
+ <description>The RMI service java.rmi.server.RMIClientSocketFactory class name</description>
+ <name>ClientSocketFactory</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getClientSocketFactoryBean" setMethod="setClientSocketFactoryBean">
+ <description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
+ <name>ClientSocketFactoryBean</name>
+ <type>java.rmi.server.RMIClientSocketFactory</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getServerSocketFactory" setMethod="setServerSocketFactory">
+ <description>The RMI service java.rmi.server.RMIServerSocketFactory class name</description>
+ <name>ServerSocketFactory</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getServerSocketFactoryBean" setMethod="setServerSocketFactoryBean">
+ <description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
+ <name>ServerSocketFactory</name>
+ <type>java.rmi.server.RMIServerSocketFactory</type>
+ </attribute>
+
+ <attribute access="read-write" getMethod="getInstallGlobalService"
+ setMethod="setInstallGlobalService">
+ <description>Ghe InstallGlobalService which defines whether the MainMBean's
+ Naming server will be installed as the NamingContext.setLocal global
+ value.</description>
+ <name>InstallGlobalService</name>
+ <type>boolean</type>
+ </attribute>
+ <attribute access="read-write" getMethod="getUseGlobalService"
+ setMethod="setUseGlobalService">
+ <description>The UseGlobalService which defines whether the MainMBean's
+ Naming server will initialized from the existing NamingContext.setLocal global
+ value.</description>
+ <name>UseGlobalService</name>
+ <type>boolean</type>
+ </attribute>
+ <attribute access="write-only" setMethod="setLookupPool">
+ <description>The thread pool service used to control the bootstrap lookups</description>
+ <name>LookupPool</name>
+ <type>org.jboss.util.threadpool.BasicThreadPoolMBean</type>
+ </attribute>
<attribute access="write-only" setMethod="setInvokerProxyFactory">
<description>The detached invoker proxy factory to use for the naming
service transport.</description>
@@ -101,14 +191,7 @@
<return-type>void</return-type>
</operation>
- <operation>
- <description>The start lifecycle operation</description>
- <name>start</name>
- </operation>
- <operation>
- <description>The stop lifecycle operation</description>
- <name>stop</name>
- </operation>
+ &defaultOperations;
</mbean>
\ No newline at end of file
Deleted: trunk/server/src/etc/deploy/legacy-conf-service.xml
===================================================================
--- trunk/server/src/etc/deploy/legacy-conf-service.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/deploy/legacy-conf-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id: jboss-service.xml 77499 2008-08-26 18:38:57Z dimitris at jboss.org $ -->
-
-<!-- ===================================================================== -->
-<!-- JBoss Server Configuration -->
-<!-- ===================================================================== -->
-
-<server>
-
- <!-- ==================================================================== -->
- <!-- Main Deployer -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.deployment.MainDeployer"
- name="jboss.system:service=MainDeployer">
- <!-- This is used to delegate the deployment handling -->
- <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
- <!-- This is used to validate incomplete deployments -->
- <attribute name="Controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- SAR Deployer -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.deployment.SARDeployer"
- name="jboss.system:service=ServiceDeployer">
- <depends>jboss.system:service=MainDeployer</depends>
- </mbean>
-
- <!-- A Thread pool service -->
- <mbean code="org.jboss.util.threadpool.BasicThreadPool"
- name="jboss.system:service=ThreadPool">
- <attribute name="Name">JBoss System Threads</attribute>
- <attribute name="ThreadGroupName">System Threads</attribute>
- <!-- How long a thread will live without any tasks in MS -->
- <attribute name="KeepAliveTime">60000</attribute>
- <!-- The max number of threads in the pool -->
- <attribute name="MaximumPoolSize">10</attribute>
- <!-- The max number of tasks before the queue is full -->
- <attribute name="MaximumQueueSize">1000</attribute>
- <!-- The behavior of the pool when a task is added and the queue is full.
- abort - a RuntimeException is thrown
- run - the calling thread executes the task
- wait - the calling thread blocks until the queue has room
- discard - the task is silently discarded without being run
- discardOldest - check to see if a task is about to complete and enque
- the new task if possible, else run the task in the calling thread
- -->
- <attribute name="BlockingMode">run</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- XMBean Persistence -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.system.pm.AttributePersistenceService"
- name="jboss:service=AttributePersistenceService"
- xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
- <!-- the AttributePersistenceService is persistent, itself -->
-
- <!--
- <attribute name="AttributePersistenceManagerClass">org.jboss.system.pm.XMLAttributePersistenceManager</attribute>
- <attribute name="AttributePersistenceManagerConfig">
- <data-directory>data/xmbean-attrs</data-directory>
- </attribute>
- <attribute name="ApmDestroyOnServiceStop">false</attribute>
- <attribute name="VersionTag"></attribute>
- -->
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- JBoss RMI Classloader - only install when available -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"
- name="jboss.rmi:type=RMIClassLoader">
- <attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>
- <attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- Class Loading -->
- <!-- ==================================================================== -->
-
- <mbean code="org.jboss.web.WebService"
- name="jboss:service=WebService">
- <attribute name="Port">
- <value-factory bean="ServiceBindingManager"
- method="getIntBinding"
- parameter="jboss:service=WebService"/>
- </attribute>
- <!-- Should resources and non-EJB classes be downloadable -->
- <attribute name="DownloadServerClasses">true</attribute>
- <attribute name="Host">${jboss.bind.address}</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- Security -->
- <!-- ==================================================================== -->
-
- <!-- JAAS security manager and realm mapping -->
- <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
- name="jboss.security:service=JaasSecurityManager">
- <!-- A flag which indicates whether the SecurityAssociation server mode
- is set on service creation. This is true by default since the
- SecurityAssociation should be thread local for multi-threaded server
- operation.
- -->
- <attribute name="ServerMode">true</attribute>
- <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
- <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute>
- <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
- in seconds.
- If you want to disable caching of security credentials, set this to 0 to
- force authentication to occur every time. This has no affect if the
- AuthenticationCacheJndiName has been changed from the default value.
- -->
- <attribute name="DefaultCacheTimeout">1800</attribute>
- <!-- DefaultCacheResolution: Specifies the default timed cache policy
- resolution in seconds. This controls the interval at which the cache
- current timestamp is updated and should be less than the DefaultCacheTimeout
- in order for the timeout to be meaningful. This has no affect if the
- AuthenticationCacheJndiName has been changed from the default value.
- -->
- <attribute name="DefaultCacheResolution">60</attribute>
- <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
- security managers to be deep copies that makes copies of the subject
- principals and credentials if they are cloneable. It should be set to
- true if subject include mutable content that can be corrupted when
- multiple threads have the same identity and cache flushes/logout clearing
- the subject in one thread results in subject references affecting other
- threads.
- -->
- <attribute name="DeepCopySubjectMode">false</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- An MBean that is a registry for JDBC type-mapping metadata -->
- <!-- ==================================================================== -->
-
- <mbean code="org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary"
- name="jboss.jdbc:service=metadata"/>
-
-</server>
Deleted: trunk/server/src/etc/deploy/naming-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deploy/naming-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/deploy/naming-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- ==================================================================== -->
- <!-- JNDI -->
- <!-- ==================================================================== -->
-
- <bean name="LookupPool">
- <constructor factoryMethod="newFixedThreadPool"
- factoryClass="java.util.concurrent.Executors">
- <!-- At least 2 threads are required -->
- <parameter>2</parameter>
- </constructor>
- </bean>
-
- <bean name="LocalNamingBean" class="org.jnp.server.NamingBeanImpl">
- <!-- Install this bean as the global JVM NamingServer -->
- <property name="installGlobalService">true</property>
- <property name="useGlobalService">false</property>
- </bean>
-
- <bean name="RemoteNamingBean" class="org.jnp.server.Main">
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=Naming", exposedInterface=org.jnp.server.MainMBean, registerDirectly=true)</annotation>
-
- <property name="namingInfo"><inject bean="LocalNamingBean" /></property>
-
- <!-- The call by value mode. true if all lookups are unmarshalled using
- the caller's TCL, false if in VM lookups return the value by reference. -->
- <property name="callByValue">false</property>
-
- <!-- The listening port for the bootstrap JNP service. Set this to -1
- to run the NamingService without the JNP invoker listening port. -->
- <property name="port">
- <value-factory bean="ServiceBindingManager"
- method="getIntBinding">
- <parameter>jboss:service=Naming</parameter>
- <parameter>Port</parameter>
- </value-factory>
- </property>
-
- <!-- The bootstrap JNP server bind address. This also sets the default
- RMI service bind address. Empty == all addresses -->
- <property name="bindAddress">${jboss.bind.address:localhost}</property>
-
- <!-- The port of the RMI naming service, 0 == anonymous -->
- <property name="rmiPort">
- <value-factory bean="ServiceBindingManager" method="getIntBinding">
- <parameter>jboss:service=Naming</parameter>
- <parameter>RmiPort</parameter>
- </value-factory>
- </property>
-
- <!-- The RMI service bind address. Empty == all addresses -->
- <property name="rmiBindAddress">${jboss.bind.address:localhost}</property>
-
- <!-- Set the java.rmi.server.hostname system property to rmiBindAddress -->
- <property name="enableRmiServerHostname">true</property>
-
- <!-- The thread pool service used to control the bootstrap lookups -->
- <property name="lookupExector"><inject bean="LookupPool"/></property>
- </bean>
-
- <bean name="JndiViewBean" class="org.jboss.naming.JNDIView">
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=JNDIView", exposedInterface=org.jboss.naming.JNDIViewMBean, registerDirectly=true)</annotation>
-
- <!-- The HANamingService service name -->
- <property name="HANamingService">jboss:service=HAJNDI</property>
- </bean>
-
- <!-- An obsolete bean only needed if using legacy detached invoker access,
- or the createAlias/removeAlias operations
- -->
- <bean name="NamingService" class="org.jboss.naming.NamingService">
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=NamingService", exposedInterface=org.jboss.naming.NamingServiceMBean, registerDirectly=true)</annotation>
-
- <!-- An example of using the unifed invoker as the transport.
- <depends optional-attribute-name="InvokerProxyFactory"
- proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>
- -->
- <property name="namingMain"><inject bean="RemoteNamingBean"/></property>
- </bean>
-
-</deployment>
Deleted: trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Port of the old jsr77 JBoss impl to MC pojos / deployers
--->
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="LocalJBossServerDomain" class="org.jboss.management.j2ee.deployers.LocalJBossServerDomain">
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.management.local:j2eeType=J2EEDomain,name=Manager", exposedInterface=org.jboss.management.j2ee.deployers.LocalJBossServerDomainMBean.class, registerDirectly=true)</annotation>
- <property name="JNDIService">jboss:service=Naming</property>
- <property name="JTAService">jboss:service=TransactionManager</property>
- <property name="userTransactionService">jboss:service=DistributedTransactionManager</property>
- <property name="mailService">jboss:service=Mail</property>
- <property name="RMI_IIOPService">jboss:service=CorbaORB</property>
- <!--<property name="jndiBindingService"></property>-->
- </bean>
-
- <bean name="EarModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.EarModuleJSR277Deployer"/>
- <bean name="EjbModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.EjbModuleJSR277Deployer"/>
- <bean name="JCAResourceJSR77Deployer" class="org.jboss.management.j2ee.deployers.JCAResourceJSR277Deployer"/>
- <bean name="JMSResourceJSR77Deployer" class="org.jboss.management.j2ee.deployers.JMSResourceJSR277Deployer"/>
- <bean name="RarModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.RarModuleJSR277Deployer"/>
- <bean name="ServiceModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.ServiceModuleJSR277Deployer"/>
- <bean name="WebModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.WebModuleJSR277Deployer"/>
-
-</deployment>
Modified: trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyItem.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyItem.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyItem.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -74,8 +74,7 @@
ClassLoader tcl = Thread.currentThread().getContextClassLoader();
try
{
- if(loader != null)
- Thread.currentThread().setContextClassLoader(loader);
+ Thread.currentThread().setContextClassLoader(loader);
InitialContext ctx = new InitialContext();
demand = ctx.lookup(jndiName);
setResolved(true);
Modified: trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyMetaData.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/deployment/dependency/JndiDependencyMetaData.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -51,17 +51,9 @@
/** The container class loader to use during lookup */
private ClassLoader loader;
private ControllerState whenRequired = ControllerState.INSTALLED;
-
+
/**
* Create a demand for a jndi name lookup using the given class loader.
- * @param jndiName - the name to lookup
- */
- public JndiDependencyMetaData(String jndiName)
- {
- this(jndiName, null);
- }
- /**
- * Create a demand for a jndi name lookup using the given class loader.
*
* @param jndiName - the name to lookup
* @param loader - the ClassLoader to use as the TCL during lookup.
Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -248,7 +248,7 @@
{
// Default to BasicJndiBindingPolicy
policy = new BasicJndiBindingPolicy();
- log.debug("Defaulting to " + DefaultJndiBindingPolicy.class.getSimpleName() + " of \""
+ log.warn("Defaulting to " + DefaultJndiBindingPolicy.class.getSimpleName() + " of \""
+ BasicJndiBindingPolicy.class.getName() + "\" for Session Bean " + md.getEjbName());
}
Modified: trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCStoreManager.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -88,7 +88,7 @@
private EjbModule ejbModule;
private EntityContainer container;
- private Logger log = Logger.getLogger(JDBCStoreManager.class);
+ private Logger log;
private JDBCEntityMetaData metaData;
private JDBCEntityBridge entityBridge;
Modified: trunk/server/src/main/org/jboss/invocation/jrmp/server/JRMPInvoker.java
===================================================================
--- trunk/server/src/main/org/jboss/invocation/jrmp/server/JRMPInvoker.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/invocation/jrmp/server/JRMPInvoker.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -46,17 +46,11 @@
import javax.naming.NameNotFoundException;
import javax.transaction.Transaction;
-import org.jboss.beans.metadata.api.annotations.Create;
-import org.jboss.beans.metadata.api.annotations.Destroy;
-import org.jboss.beans.metadata.api.annotations.Start;
-import org.jboss.beans.metadata.api.annotations.Stop;
import org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy;
import org.jboss.invocation.Invocation;
import org.jboss.invocation.Invoker;
import org.jboss.invocation.MarshalledInvocation;
import org.jboss.invocation.MarshalledValueInputStream;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
import org.jboss.logging.Logger;
import org.jboss.mx.util.JMXExceptionDecoder;
import org.jboss.net.sockets.DefaultSocketFactory;
@@ -76,7 +70,7 @@
*/
public class JRMPInvoker
extends RemoteServer
- implements Invoker, JRMPInvokerMBean, MBeanRegistration, KernelControllerContextAware
+ implements Invoker, JRMPInvokerMBean, MBeanRegistration
{
/** @since 4.2.0 */
static final long serialVersionUID = 3110972460891691492L;
@@ -668,40 +662,6 @@
support.postDeregister();
}
- public void setKernelControllerContext(KernelControllerContext context) throws Exception
- {
- support.setKernelControllerContext(context);
- }
-
- public void unsetKernelControllerContext(KernelControllerContext context) throws Exception
- {
- support.unsetKernelControllerContext(context);
- }
-
- @Create
- public void pojoCreate() throws Exception
- {
- support.pojoCreate();
- }
-
- @Start
- public void pojoStart() throws Exception
- {
- support.pojoStart();
- }
-
- @Stop
- public void pojoStop() throws Exception
- {
- support.pojoStop();
- }
-
- @Destroy
- public void pojoDestroy() throws Exception
- {
- support.pojoDestroy();
- }
-
interface TCLAction
{
class UTIL
Modified: trunk/server/src/main/org/jboss/naming/NamingService.java
===================================================================
--- trunk/server/src/main/org/jboss/naming/NamingService.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/naming/NamingService.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -25,39 +25,48 @@
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.UndeclaredThrowableException;
+import java.net.UnknownHostException;
+import java.rmi.server.RMIClientSocketFactory;
+import java.rmi.server.RMIServerSocketFactory;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import javax.net.ServerSocketFactory;
import org.jboss.invocation.Invocation;
import org.jboss.invocation.MarshalledInvocation;
import org.jboss.invocation.jrmp.server.JRMPProxyFactoryMBean;
-import org.jboss.logging.Logger;
+import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.util.threadpool.ThreadPool;
+import org.jboss.util.threadpool.BasicThreadPoolMBean;
import org.jnp.interfaces.Naming;
import org.jnp.interfaces.MarshalledValuePair;
-import org.jnp.server.MainMBean;
+import org.jnp.server.Main;
+import org.jnp.server.NamingBean;
/**
- * A JBoss service that wraps the jnp JNDI server.
+ * A JBoss service that starts the jnp JNDI server.
*
* @author <a href="mailto:rickard.oberg at telkel.com">Rickard Oberg</a>
* @author <a href="mailto:Scott.Stark at jboss.org">Scott Stark</a>.
* @author <a href="mailto:andreas at jboss.org">Andreas Schaefer</a>.
* @version $Revision$
*
- * @deprecated the org.jnp.server.Main pojo provides all functionality except
- * the deprecated detached invoker layer
+ * @jmx:mbean name="jboss:service=Naming"
+ * extends="org.jboss.system.ServiceMBean, org.jnp.server.MainMBean"
*/
public class NamingService
+ extends ServiceMBeanSupport
implements NamingServiceMBean
{
- private static final Logger log = Logger.getLogger(NamingService.class);
+ /** The actual namingMain service impl bean */
+ private NamingBean namingBean;
/** */
- private MainMBean namingMain;
+ private Main namingMain = new Main();
/** The hash mappings of the Naming interface methods */
- private Map<Long, Method> marshalledInvocationMapping = new HashMap<Long, Method>();
+ private Map marshalledInvocationMapping = new HashMap();
/** An optional proxy factory for externalizing the Naming proxy transport */
private JRMPProxyFactoryMBean proxyFactory;
@@ -65,20 +74,33 @@
{
}
- public MainMBean getNamingMain()
+ public NamingBean getNaming()
{
- return namingMain;
+ return namingBean;
}
- public void setNamingMain(MainMBean namingMain)
+ public void setNaming(NamingBean bean)
{
- this.namingMain = namingMain;
+ this.namingBean = bean;
+ this.namingMain.setNamingInfo(bean);
}
public Naming getNamingInstance()
{
- return namingMain.getNamingInstance();
+ return namingBean.getNamingInstance();
}
+ /** Set the thread pool used for the bootstrap lookups
+ *
+ * @jmx:managed-attribute
+ *
+ * @param poolMBean
+ */
+ public void setLookupPool(BasicThreadPoolMBean poolMBean)
+ {
+ ThreadPool lookupPool = poolMBean.getInstance();
+ namingMain.setLookupPool(lookupPool);
+ }
+
/** Get the call by value flag for jndi lookups.
*
* @jmx:managed-attribute
@@ -101,20 +123,133 @@
MarshalledValuePair.setEnableCallByReference(callByValue);
}
- public void setInvokerProxyFactory(JRMPProxyFactoryMBean proxyFactory)
+ public void setPort(int port)
{
- this.proxyFactory = proxyFactory;
+ namingMain.setPort(port);
}
- public Naming getNamingProxy()
+ public int getPort()
{
- Naming proxy = null;
- if(proxyFactory != null)
- proxy = (Naming) proxyFactory.getProxy();
- return proxy;
+ return namingMain.getPort();
}
- public void start()
+ public void setRmiPort(int port)
+ {
+ namingMain.setRmiPort(port);
+ }
+
+ public int getRmiPort()
+ {
+ return namingMain.getRmiPort();
+ }
+
+ public String getBindAddress()
+ {
+ return namingMain.getBindAddress();
+ }
+
+ public void setBindAddress(String host) throws UnknownHostException
+ {
+ namingMain.setBindAddress(host);
+ }
+
+ public String getRmiBindAddress()
+ {
+ return namingMain.getRmiBindAddress();
+ }
+
+ public void setRmiBindAddress(String host) throws UnknownHostException
+ {
+ namingMain.setRmiBindAddress(host);
+ }
+
+ public int getBacklog()
+ {
+ return namingMain.getBacklog();
+ }
+
+ public void setBacklog(int backlog)
+ {
+ namingMain.setBacklog(backlog);
+ }
+
+ public boolean getInstallGlobalService()
+ {
+ return namingMain.getInstallGlobalService();
+ }
+ public void setInstallGlobalService(boolean flag)
+ {
+ namingMain.setInstallGlobalService(flag);
+ }
+ public boolean getUseGlobalService()
+ {
+ return namingMain.getUseGlobalService();
+ }
+ public void setUseGlobalService(boolean flag)
+ {
+ namingMain.setUseGlobalService(flag);
+ }
+ public String getClientSocketFactory()
+ {
+ return namingMain.getClientSocketFactory();
+ }
+ public void setClientSocketFactory(String factoryClassName)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException
+ {
+ namingMain.setClientSocketFactory(factoryClassName);
+ }
+
+ public RMIClientSocketFactory getClientSocketFactoryBean()
+ {
+ return namingMain.getClientSocketFactoryBean();
+ }
+ public void setClientSocketFactoryBean(RMIClientSocketFactory factory)
+ {
+ namingMain.setClientSocketFactoryBean(factory);
+ }
+
+ public String getServerSocketFactory()
+ {
+ return namingMain.getServerSocketFactory();
+ }
+ public void setServerSocketFactory(String factoryClassName)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException
+ {
+ namingMain.setServerSocketFactory(factoryClassName);
+ }
+ public RMIServerSocketFactory getServerSocketFactoryBean()
+ {
+ return namingMain.getServerSocketFactoryBean();
+ }
+ public void setServerSocketFactoryBean(RMIServerSocketFactory factory)
+ {
+ namingMain.setServerSocketFactoryBean(factory);
+ }
+
+ public String getJNPServerSocketFactory()
+ {
+ return namingMain.getJNPServerSocketFactory();
+ }
+ public void setJNPServerSocketFactory(String factoryClassName)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException
+ {
+ namingMain.setJNPServerSocketFactory(factoryClassName);
+ }
+ public ServerSocketFactory getJNPServerSocketFactoryBean()
+ {
+ return namingMain.getJNPServerSocketFactoryBean();
+ }
+ public void setJNPServerSocketFactoryBean(ServerSocketFactory factory)
+ {
+ namingMain.setJNPServerSocketFactoryBean(factory);
+ }
+
+ public void setInvokerProxyFactory(JRMPProxyFactoryMBean proxyFactory)
+ {
+ this.proxyFactory = proxyFactory;
+ }
+
+ protected void startService()
throws Exception
{
boolean debug = log.isDebugEnabled();
@@ -144,9 +279,12 @@
}
System.setProperty(key, value);
}
+ if( proxyFactory != null )
+ namingMain.setNamingProxy(proxyFactory.getProxy());
+ namingMain.start();
// Build the Naming interface method map
- HashMap<Long, Method> tmpMap = new HashMap<Long, Method>(13);
+ HashMap tmpMap = new HashMap(13);
Method[] methods = Naming.class.getMethods();
for(int m = 0; m < methods.length; m ++)
{
@@ -157,8 +295,10 @@
marshalledInvocationMapping = Collections.unmodifiableMap(tmpMap);
}
- public void stop()
+ protected void stopService()
+ throws Exception
{
+ namingMain.stop();
log.debug("JNP server stopped");
}
@@ -171,7 +311,7 @@
*
* @return a <code>Main</code> value
*/
- protected MainMBean getNamingServer()
+ protected Main getNamingServer()
{
return namingMain;
} // end of main()
@@ -183,7 +323,7 @@
*
* @return A Map<Long hash, Method> of the Naming interface
*/
- public Map<Long, Method> getMethodMap()
+ public Map getMethodMap()
{
return marshalledInvocationMapping;
}
@@ -237,13 +377,4 @@
return value;
}
-
- protected void startService() throws Exception
- {
- start();
- }
- protected void stopService() throws Exception
- {
- stop();
- }
}
Modified: trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java
===================================================================
--- trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/server/src/main/org/jboss/naming/NamingServiceMBean.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -21,23 +21,20 @@
*/
package org.jboss.naming;
-import java.lang.reflect.Method;
-
-import org.jnp.interfaces.Naming;
-import org.jnp.server.MainMBean;
-
/**
* MBean interface.
- * @author Scott.Stark at jboss.org
- * @version $Revision$
*/
-public interface NamingServiceMBean
-{
+public interface NamingServiceMBean extends org.jboss.system.ServiceMBean, org.jnp.server.MainMBean {
//default object name
- public static final javax.management.ObjectName OBJECT_NAME = org.jboss.mx.util.ObjectNameFactory.create("jboss:service=NamingService");
+ public static final javax.management.ObjectName OBJECT_NAME = org.jboss.mx.util.ObjectNameFactory.create("jboss:service=Naming");
/**
+ * Set the thread pool used for the bootstrap lookups
+ * @param poolMBean */
+ void setLookupPool(org.jboss.util.threadpool.BasicThreadPoolMBean poolMBean) ;
+
+ /**
* Get the call by value flag for jndi lookups.
* @return true if all lookups are unmarshalled using the caller's TCL, false if in VM lookups return the value by reference. */
boolean getCallByValue() ;
@@ -47,15 +44,10 @@
* @param flag - true if all lookups are unmarshalled using the caller's TCL, false if in VM lookups return the value by reference. */
void setCallByValue(boolean flag) ;
- MainMBean getNamingMain();
- void setNamingMain(MainMBean main);
-
- Naming getNamingInstance();
-
/**
* Expose the Naming service interface mapping as a read-only attribute
* @return A Map<Long hash, Method> of the Naming interface */
- java.util.Map<Long, Method> getMethodMap() ;
+ java.util.Map getMethodMap() ;
/**
* Expose the Naming service via JMX to invokers.
Modified: trunk/spring-int/.classpath
===================================================================
--- trunk/spring-int/.classpath 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/spring-int/.classpath 2008-10-20 13:44:10 UTC (rev 79747)
@@ -13,7 +13,5 @@
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/test/lib/jboss-test.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop.jar"/>
- <classpathentry exported="true" kind="lib" path="/thirdparty/jboss/cache/jbosscache-core/lib/jbosscache-core.jar" sourcepath="/jbosscache-core/src/main/java"/>
- <classpathentry exported="true" kind="lib" path="/thirdparty/jboss/cache/jbosscache-pojo/lib/jbosscache-pojo.jar" sourcepath="/thirdparty/jboss/cache/jbosscache-pojo/lib/jbosscache-pojo-sources.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: trunk/spring-int/build.xml
===================================================================
--- trunk/spring-int/build.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/spring-int/build.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -102,8 +102,6 @@
<path refid="jboss.microcontainer.classpath"/>
<path refid="jboss.jboss.vfs.classpath"/>
<path refid="jboss.jboss.javaee.classpath"/>
- <path refid="jboss.cache.jbosscache.core.classpath"/>
- <path refid="jboss.cache.jbosscache.pojo.classpath"/>
</path>
<!-- Where source files live -->
@@ -175,7 +173,6 @@
<include name="org/jboss/spring/interceptor/**"/>
<include name="org/jboss/spring/support/**"/>
<include name="org/jboss/spring/io/**"/>
- <include name="org/jboss/spring/cluster/**"/>
</fileset>
</jar>
@@ -243,7 +240,6 @@
<include name="org/jboss/spring/factory/**"/>
<include name="org/jboss/spring/support/**"/>
<include name="org/jboss/spring/io/**"/>
- <include name="org/jboss/spring/cluster/**"/>
</javac>
</target>
@@ -398,7 +394,6 @@
<exclude name="org/jboss/spring/factory/**"/>
<exclude name="org/jboss/spring/interceptor/**"/>
<exclude name="org/jboss/spring/io/**"/>
- <exclude name="org/jboss/spring/cluster/**"/>
</javac>
<copy todir="${module.output}/example/classes">
<fileset dir="${source.resources}/test/dd">
Modified: trunk/spring-int/pom.xml
===================================================================
--- trunk/spring-int/pom.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/spring-int/pom.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -99,20 +99,6 @@
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-pojo</artifactId>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-j2ee</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.aop</groupId>
- <artifactId>jboss-aop</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: trunk/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/system-jmx/src/main/org/jboss/system/deployers/managed/ServiceMetaDataICF.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -79,8 +79,6 @@
{
ClassLoader loader = getServiceMetaDataCL(md);
Class moClass = loader.loadClass(md.getCode());
- if(moClass.getName().equals("org.jboss.system.server.ServerInfo"))
- log.info("org.jboss.system.server.ServerInfo");
// Set the mbean class loader as the TCL
SecurityActions.setContextClassLoader(loader);
Modified: trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceDependencyValueMetaData.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceDependencyValueMetaData.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceDependencyValueMetaData.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -60,8 +60,6 @@
/** The proxy type */
private String proxyType;
- /** The attribute of the depends mbean to use */
- private String dependsAttribute;
/**
* Create a new ServiceDependencyValueMetaData.
@@ -86,11 +84,10 @@
* @param dependency the dependents object name
* @param proxyType the proxy type
*/
- public ServiceDependencyValueMetaData(String dependency, String proxyType, String dependsAttribute)
+ public ServiceDependencyValueMetaData(String dependency, String proxyType)
{
setDependency(dependency);
setProxyType(proxyType);
- setDependsAttribute(dependsAttribute);
}
/**
@@ -118,17 +115,6 @@
this.objectName = null;
}
-
- public String getDependsAttribute()
- {
- return dependsAttribute;
- }
-
- public void setDependsAttribute(String dependsAttribute)
- {
- this.dependsAttribute = dependsAttribute;
- }
-
/**
* Get the object name.
*
@@ -202,12 +188,7 @@
Class proxyClass = cl.loadClass(proxyType);
return MBeanProxyExt.create(proxyClass, objectName, server, true);
}
- if (dependsAttribute != null)
- {
- Object value = server.getAttribute(objectName, dependsAttribute);
- return value;
- }
-
+
return objectName;
}
Modified: trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -272,18 +272,12 @@
else
proxyType = StringPropertyReplacer.replaceProperties(proxyType);
- String dependsAttribute = element.getAttribute("attribute");
- if ("".equals(dependsAttribute))
- dependsAttribute = null;
- else
- dependsAttribute = StringPropertyReplacer.replaceProperties(dependsAttribute);
-
// Get the mbeanRef value
String dependsObjectName = processDependency(mbeanName, mbeanRefName, element, services, replace);
if (mbeanRefName != null)
{
- ServiceValueMetaData value = new ServiceDependencyValueMetaData(dependsObjectName, proxyType, dependsAttribute);
+ ServiceValueMetaData value = new ServiceDependencyValueMetaData(dependsObjectName, proxyType);
ServiceAttributeMetaData attribute = new ServiceAttributeMetaData();
attribute.setName(mbeanRefName);
attribute.setValue(value);
Modified: trunk/testsuite/.classpath
===================================================================
--- trunk/testsuite/.classpath 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/.classpath 2008-10-20 13:44:10 UTC (rev 79747)
@@ -45,6 +45,5 @@
<classpathentry kind="lib" path="/thirdparty/jboss/jboss-ejb3-proxy/lib/jboss-ejb3-proxy-client.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop-aspects.jar"/>
- <classpathentry kind="lib" path="/cluster/output/lib/jboss-ha-legacy-client.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/build.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -876,10 +876,6 @@
<exclude name="org/jboss/test/cluster/defaultcfg/profileservice/test/ClusteredDeployUnitTestCase.class"/>
<!-- JASPI needs revisiting -->
<exclude name="org/jboss/test/web/test/JASPIFormAuthUnitTestCase.class"/>
- <!-- JBAS-6071, http-invoker removal -->
- <exclude name="org/jboss/test/hello/test/HelloClusteredHttpStressTestCase.class"/>
- <exclude name="org/jboss/test/hello/test/HelloHttpStressTestCase.class"/>
-
</patternset>
<patternset id="jbossmq.excludes">
@@ -958,14 +954,10 @@
<antcall target="tests-aop-scoped"/>
<antcall target="jrmp-invoker-tests"/>
<antcall target="pooled-invoker-tests"/>
- <antcall target="tests-clustered-profileservice"/>
- <antcall target="tests-web-profile"/>
-
- <!-- NOTE: Run the classloader leak tests last as they can be
- disruptive to the overall run if there are failures. -->
<antcall target="tests-classloader-leak"/>
<antcall target="tests-clustered-classloader-leak"/>
-
+ <antcall target="tests-clustered-profileservice"/>
+ <antcall target="tests-web-profile"/>
<antcall target="tests-report"/>
<!-- JBAS-5918 https://issues.apache.org/bugzilla/show_bug.cgi?id=41368
<record name="${basedir}/output/tests.log" action="stop"/>
Modified: trunk/testsuite/imports/sections/cluster.xml
===================================================================
--- trunk/testsuite/imports/sections/cluster.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/imports/sections/cluster.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -64,6 +64,10 @@
<copy todir="${build.lib}"
file="${build.resources}/cluster/partition/partition-restart-jboss-beans.xml"
overwrite="true"/>
+ <!-- JMX beans for testing partition restart -->
+ <copy todir="${build.lib}"
+ file="${build.resources}/cluster/partition/partition-restart-service.xml"
+ overwrite="true"/>
<!-- EJBs for testing partition restart -->
<jar destfile="${build.lib}/partition-restart.jar">
@@ -632,6 +636,7 @@
<fileset dir="${build.resources}/cluster/ejb2/passexp">
<include name="META-INF/partition-passexp-jboss-beans.xml"/>
<include name="META-INF/passexp-stacks.xml"/>
+ <include name="partition-passexp-service.xml"/>
</fileset>
</jar>
Modified: trunk/testsuite/imports/sections/spring.xml
===================================================================
--- trunk/testsuite/imports/sections/spring.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/imports/sections/spring.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -39,16 +39,6 @@
<!-- SERVICE -->
<copy tofile="${build.lib}/standalone-spring.xml" file="${build.resources}/spring/standalone-spring.xml"/>
- <!-- Cluster -->
- <jar destfile="${build.lib}/spring-cluster-pojos.jar">
- <fileset dir="${build.resources}/spring/cluster">
- <include name="**/*.xml"/>
- </fileset>
- <fileset dir="${build.classes}">
- <include name="org/jboss/test/spring/cluster/**"/>
- </fileset>
- </jar>
-
</target>
</project>
Modified: trunk/testsuite/imports/server-config.xml
===================================================================
--- trunk/testsuite/imports/server-config.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/imports/server-config.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -597,14 +597,12 @@
<sysproperty key="jboss.messaging.ServerPeerID" value="1" />
</server>
<server name="jrmp-invoker" host="${node0}">
- <jvmarg value="-Xms128m" />
- <jvmarg value="-Xmx512m" />
+ <jvmarg value="-Xmx128m" />
<jvmarg value="-XX:MaxPermSize=128m" />
<sysproperty key="java.net.preferIPv4Stack" value="true" />
</server>
<server name="pooled-invoker" host="${node0}">
- <jvmarg value="-Xms128m" />
- <jvmarg value="-Xmx512m" />
+ <jvmarg value="-Xmx128m" />
<jvmarg value="-XX:MaxPermSize=128m" />
<sysproperty key="java.net.preferIPv4Stack" value="true" />
</server>
@@ -917,10 +915,9 @@
<delete dir="${jboss.dist}/server/@{conf}" failonerror="false"/>
<echo message="creating @{conf} config, jboss.dist=${jboss.dist}"/>
<copy todir="${jboss.dist}/server/@{conf}">
- <fileset dir="${jboss.dist}/server/@{baseconf}">
+ <fileset dir="${jboss.dist}/server/@{baseconf}">
<include name="conf/**"/>
<include name="lib/**"/>
- <include name="lib-opt/**"/>
<include name="deploy/**"/>
<include name="deployers/**"/>
</fileset>
@@ -934,18 +931,6 @@
<copy todir="${jboss.dist}/server/@{conf}" overwrite="true" failonerror="false">
<fileset dir="${build.resources}/test-configs/@{conf}" />
</copy>
- <echo message="Adding JBoss Pojo Cache" />
- <copy todir="${jboss.dist}/server/@{conf}/lib" overwrite="true" failonerror="false">
- <fileset dir="${jgroups.jgroups.lib}">
- <include name="jgroups.jar"/>
- </fileset>
- <fileset dir="${jboss.cache.jbosscache.core.lib}">
- <include name="jbosscache-core.jar"/>
- </fileset>
- <fileset dir="${jboss.cache.jbosscache.pojo.lib}">
- <include name="jbosscache-pojo.jar"/>
- </fileset>
- </copy>
</sequential>
</macrodef>
@@ -969,36 +954,35 @@
</macrodef>
<!-- A macro for creating the web profile -->
- <macrodef name="create-web-profile-config" description="Create the web configuration">
- <attribute name="conf"/>
- <sequential>
- <create-config baseconf="default" newconf="@{conf}" newconf-src="web-profile">
- <patternset>
- <include name="conf/**"/>
- <include name="deploy/hsqldb-ds.xml"/>
- <include name="deploy/jbossjca-service.xml"/>
- <include name="deploy/jboss-local-jdbc.rar"/>
- <include name="deploy/jbossweb.sar/**"/>
- <include name="deploy/jboss-xa-jdbc.rar"/>
- <include name="deploy/jmx-console.war/**"/>
- <include name="deploy/ROOT.war/**"/>
- <include name="deploy/security/**"/>
- <include name="deploy/legacy-conf-service.xml"/>
- <include name="deploy/naming-jboss-beans.xml"/>
- <include name="deploy/transaction-jboss-beans.xml"/>
- <include name="deployers/alias-deployers-jboss-beans.xml"/>
- <include name="deployers/ejb3.deployer/**"/>
- <include name="deployers/jboss-jca.deployer/**"/>
- <include name="deployers/jboss-aop-jboss5.deployer/**"/>
- <include name="deployers/jbossweb.deployer/**"/>
- <include name="deployers/metadata-deployer-jboss-beans.xml"/>
- <include name="deployers/security-deployer-jboss-beans.xml"/>
- <include name="lib/**"/>
- </patternset>
- </create-config>
- <copy file="${project.root}/varia/output/lib/http-invoker.sar"
- tofile="${jboss.dist}/server/@{conf}/deploy/http-invoker.sar"/>
- </sequential>
+ <macrodef name="create-web-profile-config"
+ description="Create the web configuration">
+ <attribute name="conf"/>
+ <sequential>
+ <create-config baseconf="default" newconf="@{conf}"
+ newconf-src="web-profile">
+ <patternset>
+ <include name="conf/**"/>
+ <include name="deploy/hsqldb-ds.xml"/>
+ <include name="deploy/jbossjca-service.xml"/>
+ <include name="deploy/jboss-local-jdbc.rar"/>
+ <include name="deploy/jbossweb.sar/**"/>
+ <include name="deploy/jboss-xa-jdbc.rar"/>
+ <include name="deploy/jmx-console.war/**"/>
+ <include name="deploy/http-invoker.sar/**"/>
+ <include name="deploy/ROOT.war/**"/>
+ <include name="deploy/security/**"/>
+ <include name="deploy/transaction-jboss-beans.xml"/>
+ <include name="deployers/alias-deployers-jboss-beans.xml"/>
+ <include name="deployers/ejb3.deployer/**"/>
+ <include name="deployers/jboss-jca.deployer/**"/>
+ <include name="deployers/jboss-aop-jboss5.deployer/**"/>
+ <include name="deployers/jbossweb.deployer/**"/>
+ <include name="deployers/metadata-deployer-jboss-beans.xml"/>
+ <include name="deployers/security-deployer-jboss-beans.xml"/>
+ <include name="lib/**"/>
+ </patternset>
+ </create-config>
+ </sequential>
</macrodef>
<!-- This macro makes a new config whose name is given by the newconf
Modified: trunk/testsuite/src/main/org/jboss/test/classloader/scoping/naming/service/BindingService.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/scoping/naming/service/BindingService.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/scoping/naming/service/BindingService.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -54,7 +54,7 @@
{
// Put the NamingService into call by value mode
MBeanServer server = MBeanServerLocator.locateJBoss();
- ObjectName namingService = new ObjectName("jboss:service=NamingService");
+ ObjectName namingService = new ObjectName("jboss:service=Naming");
origCallByValue = (Boolean) server.getAttribute(namingService, "CallByValue");
Attribute callByValue = new Attribute("CallByValue", Boolean.TRUE);
server.setAttribute(namingService, callByValue);
Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ClusteredSessionNotificationPolicyTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ClusteredSessionNotificationPolicyTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ClusteredSessionNotificationPolicyTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,704 +0,0 @@
-/*
- * 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.
- */
-
-package org.jboss.test.cluster.defaultcfg.simpleweb.test;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.apache.catalina.Context;
-import org.jboss.cache.pojo.PojoCache;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.jboss.ReplicationGranularity;
-import org.jboss.metadata.web.jboss.ReplicationTrigger;
-import org.jboss.test.JBossTestCase;
-import org.jboss.test.cluster.testutil.CacheConfigTestSetup;
-import org.jboss.test.cluster.testutil.SessionTestUtil;
-import org.jboss.test.cluster.web.mocks.BasicRequestHandler;
-import org.jboss.test.cluster.web.mocks.InvalidateSessionRequestHandler;
-import org.jboss.test.cluster.web.mocks.RemoveAttributesRequestHandler;
-import org.jboss.test.cluster.web.mocks.SetAttributesRequestHandler;
-import org.jboss.test.cluster.web.notification.MockClusteredSessionNotificationPolicy;
-import org.jboss.test.cluster.web.notification.MockHttpSessionAttributeListener;
-import org.jboss.test.cluster.web.notification.MockHttpSessionListener;
-import org.jboss.test.cluster.web.notification.SessionSpecListenerAttribute;
-import org.jboss.web.tomcat.service.session.JBossCacheManager;
-
-/**
- * Tests of handling of servlet spec notifications.
- *
- * @author Brian Stansberry
- */
-public class ClusteredSessionNotificationPolicyTestCase extends JBossTestCase
-{
- protected static PojoCache[] pojoCaches = new PojoCache[2];
-
- protected static long testId = System.currentTimeMillis();
-
- protected static boolean useBuddyRepl = Boolean.valueOf(System.getProperty("jbosstest.cluster.web.cache.br")).booleanValue();
-
- protected Logger log = Logger.getLogger(getClass());
-
- protected Set<JBossCacheManager> managers = new HashSet<JBossCacheManager>();
-
- protected Map<String, Object> allAttributes;
- protected Map<String, Object> immutables;
- protected Map<String, Object> mutables;
- protected Map<String, Object> attributes;
- protected SessionSpecListenerAttribute attribute = new SessionSpecListenerAttribute();
- protected Map<String, Object> newAttributes;
- protected SessionSpecListenerAttribute newAttribute = new SessionSpecListenerAttribute();
-
- protected String origNotificationPolicy;
-
- public ClusteredSessionNotificationPolicyTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite() throws Exception
- {
- File tmpDir = new File(System.getProperty("java.io.tmpdir"));
- File root = new File(tmpDir, ClusteredSessionNotificationPolicyTestCase.class.getSimpleName());
- return CacheConfigTestSetup.getTestSetup(ClusteredSessionNotificationPolicyTestCase.class, pojoCaches, false, root.getAbsolutePath(), !useBuddyRepl, false);
- }
-
-
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
-
- origNotificationPolicy = System.getProperty("jboss.web.clustered.session.notification.policy");
- System.setProperty("jboss.web.clustered.session.notification.policy", MockClusteredSessionNotificationPolicy.class.getName());
-
- attributes = new HashMap<String, Object>();
- attributes.put("KEY", attribute);
- attributes = Collections.unmodifiableMap(attributes);
-
- newAttributes = new HashMap<String, Object>();
- newAttributes.put("KEY", newAttribute);
- newAttributes = Collections.unmodifiableMap(newAttributes);
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- super.tearDown();
-
- if (origNotificationPolicy != null)
- {
- System.setProperty("jboss.web.clustered.session.notification.policy", origNotificationPolicy);
- }
- else
- {
- System.clearProperty("jboss.web.clustered.session.notification.policy");
- }
-
- for (JBossCacheManager manager : managers)
- {
- try
- {
- manager.stop();
- }
- catch (RuntimeException ignored)
- {
- log.debug("tearDown(): Caught exception cleaning up manager -- " + ignored.getLocalizedMessage());
- }
- }
- managers.clear();
-
- attribute.invocations.clear();
- newAttribute.invocations.clear();
- }
-
- protected ReplicationGranularity getReplicationGranularity()
- {
- return ReplicationGranularity.SESSION;
- }
-
- protected ReplicationTrigger getReplicationTrigger()
- {
- return ReplicationTrigger.SET_AND_NON_PRIMITIVE_GET;
- }
-
- public void testSessionLifecycleWithNotifications() throws Exception
- {
- log.info("++++ Starting testSessionLifecycleWithNotifications ++++");
- sessionLifecycleTest(true);
- }
-
- public void testSessionLifecycleWithoutNotifications() throws Exception
- {
- log.info("++++ Starting testSessionLifecycleWithoutNotifications ++++");
- sessionLifecycleTest(false);
- }
-
- private void sessionLifecycleTest(boolean notify) throws Exception
- {
- String warname = String.valueOf(++testId);
-
- // A war with a maxInactive of 30 mins maxUnreplicated of 0
- JBossCacheManager[] mgrs = getCacheManagers(warname, 1800, 1);
- JBossCacheManager jbcm0 = mgrs[0];
- JBossCacheManager jbcm1 = mgrs[1];
-
- assertTrue(jbcm0.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp0 = (MockClusteredSessionNotificationPolicy) jbcm0.getNotificationPolicy();
- assertNotNull("capability set", mcsnp0.getClusteredSessionNotificationCapability());
- mcsnp0.setResponse(notify);
-
- assertTrue(jbcm1.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp1 = (MockClusteredSessionNotificationPolicy) jbcm1.getNotificationPolicy();
- assertNotNull("capability set", mcsnp1.getClusteredSessionNotificationCapability());
- mcsnp1.setResponse(notify);
-
- MockHttpSessionListener hsl0 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal0 = new MockHttpSessionAttributeListener();
- Context ctx = (Context) jbcm0.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl0 });
- ctx.setApplicationEventListeners(new Object[]{ hsal0 });
-
- MockHttpSessionListener hsl1 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal1 = new MockHttpSessionAttributeListener();
- ctx = (Context) jbcm1.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl1 });
- ctx.setApplicationEventListeners(new Object[]{ hsal1 });
-
- // Initial request
- SetAttributesRequestHandler setHandler = new SetAttributesRequestHandler(attributes, false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, null);
-
- validateNewSession(setHandler);
- String sessionId = setHandler.getSessionId();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.CREATED, hsl0.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.ADDED, hsal0.invocations.get(0));
- assertEquals(2, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(1));
-
- validateNoNotifications(null, null, hsl1, hsal1, null);
- clearNotifications(hsl0, hsal0, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Modify attribute request
- setHandler = new SetAttributesRequestHandler(newAttributes, false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, sessionId);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REPLACED, hsal0.invocations.get(0));
- assertEquals(4, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(1));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(2));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(3));
-
- validateNoNotifications(hsl0, null, hsl1, hsal1, null);
- clearNotifications(null, hsal0, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Passivate
- Thread.sleep(1100);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(0));
-
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1, null);
- clearNotifications(null, null, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Remove attribute request
- RemoveAttributesRequestHandler removeHandler = new RemoveAttributesRequestHandler(newAttributes.keySet(), false);
- SessionTestUtil.invokeRequest(jbcm0, removeHandler, sessionId);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REMOVED, hsal0.invocations.get(0));
- assertEquals(3, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(1));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(2));
-
- validateNoNotifications(hsl0, null, hsl1, hsal1, null);
- clearNotifications(null, hsal0, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Failover request
- setHandler = new SetAttributesRequestHandler(attributes, false);
- SessionTestUtil.invokeRequest(jbcm1, setHandler, sessionId);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl1.invocations.size());
- assertEquals(MockHttpSessionListener.Type.CREATED, hsl1.invocations.get(0));
- assertEquals(1, hsal1.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.ADDED, hsal1.invocations.get(0));
- assertEquals(2, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(1));
-
- validateNoNotifications(hsl0, hsal0, null, null, null);
- clearNotifications(null, null, hsl1, hsal1, SessionSpecListenerAttribute.invocations);
- }
-
- // Passivate
- Thread.sleep(1100);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(0));
-
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1, null);
- clearNotifications(null, null, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Fail back and invalidate session after changing attribute
- InvalidateSessionRequestHandler invalidateHandler = new InvalidateSessionRequestHandler(newAttributes.keySet(), false);
- SessionTestUtil.invokeRequest(jbcm0, invalidateHandler, sessionId);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.DESTROYED, hsl0.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REMOVED, hsal0.invocations.get(0));
- assertEquals(3, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(1));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(2));
-
- validateNoNotifications(null, null, hsl1, hsal1, null);
- clearNotifications(hsl0, hsal0, null, null, SessionSpecListenerAttribute.invocations);
- }
- }
-
- public void testSessionExpirationWithNotifications() throws Exception
- {
- log.info("++++ Starting testSessionExpirationWithNotifications ++++");
- sessionExpirationTest(true);
- }
-
- public void testSessionExpirationWithoutNotifications() throws Exception
- {
- log.info("++++ Starting testSessionExpirationWithoutNotifications ++++");
- sessionExpirationTest(false);
- }
-
- private void sessionExpirationTest(boolean notify) throws Exception
- {
- String warname = String.valueOf(++testId);
-
- // A war with a maxInactive of 2 secs and a maxIdle of 1
- JBossCacheManager[] mgrs = getCacheManagers(warname, 2, 1);
- JBossCacheManager jbcm0 = mgrs[0];
- JBossCacheManager jbcm1 = mgrs[1];
-
- assertTrue(jbcm0.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp0 = (MockClusteredSessionNotificationPolicy) jbcm0.getNotificationPolicy();
- assertNotNull("capability set", mcsnp0.getClusteredSessionNotificationCapability());
- mcsnp0.setResponse(notify);
-
- assertTrue(jbcm1.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp1 = (MockClusteredSessionNotificationPolicy) jbcm1.getNotificationPolicy();
- assertNotNull("capability set", mcsnp1.getClusteredSessionNotificationCapability());
- mcsnp1.setResponse(notify);
-
- MockHttpSessionListener hsl0 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal0 = new MockHttpSessionAttributeListener();
- Context ctx = (Context) jbcm0.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl0 });
- ctx.setApplicationEventListeners(new Object[]{ hsal0 });
-
- MockHttpSessionListener hsl1 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal1 = new MockHttpSessionAttributeListener();
- ctx = (Context) jbcm1.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl1 });
- ctx.setApplicationEventListeners(new Object[]{ hsal1 });
-
- // Initial request
- SetAttributesRequestHandler setHandler = new SetAttributesRequestHandler(attributes, false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, null);
-
- validateNewSession(setHandler);
-
- String sessionId = setHandler.getSessionId();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.CREATED, hsl0.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.ADDED, hsal0.invocations.get(0));
- assertEquals(2, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(1));
-
- validateNoNotifications(null, null, hsl1, hsal1, null);
- clearNotifications(hsl0, hsal0, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Failover request
- setHandler = new SetAttributesRequestHandler(newAttributes, false);
- SessionTestUtil.invokeRequest(jbcm1, setHandler, sessionId);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl1.invocations.size());
- assertEquals(MockHttpSessionListener.Type.CREATED, hsl1.invocations.get(0));
- assertEquals(1, hsal1.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REPLACED, hsal1.invocations.get(0));
- assertEquals(4, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(1));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(2));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(3));
-
- validateNoNotifications(hsl0, hsal0, null, null, null);
- clearNotifications(null, null, hsl1, hsal1, SessionSpecListenerAttribute.invocations);
- }
-
- // Passivate
- Thread.sleep(1100);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(2, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(1));
-
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1, null);
- clearNotifications(null, null, null, null, SessionSpecListenerAttribute.invocations);
- }
-
- // Expire
- Thread.sleep(1000);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.DESTROYED, hsl0.invocations.get(0));
- assertEquals(1, hsl1.invocations.size());
- assertEquals(MockHttpSessionListener.Type.DESTROYED, hsl1.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REMOVED, hsal0.invocations.get(0));
- assertEquals(1, hsal1.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REMOVED, hsal1.invocations.get(0));
- assertEquals(4, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(1));
- assertEquals(SessionSpecListenerAttribute.Type.ACTIVATING, SessionSpecListenerAttribute.invocations.get(2));
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(3));
-
- validateNoNotifications(null, null, null, null, null);
- clearNotifications(hsl0, hsal0, hsl1, hsal1, SessionSpecListenerAttribute.invocations);
- }
- }
-
- public void testUndeployWithNotifications() throws Exception
- {
- log.info("++++ Starting testUndeployWithNotifications ++++");
- undeployTest(true);
- }
-
- public void testUndeployWithoutNotifications() throws Exception
- {
- log.info("++++ Starting testUndeployWithoutNotifications ++++");
- undeployTest(false);
- }
-
- private void undeployTest(boolean notify) throws Exception
- {
- String warname = String.valueOf(++testId);
-
- // A war with a maxInactive of 30 mins and no maxIdle
- JBossCacheManager[] mgrs = getCacheManagers(warname, 1800, -1);
- JBossCacheManager jbcm0 = mgrs[0];
- JBossCacheManager jbcm1 = mgrs[1];
-
- assertTrue(jbcm0.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp0 = (MockClusteredSessionNotificationPolicy) jbcm0.getNotificationPolicy();
- assertNotNull("capability set", mcsnp0.getClusteredSessionNotificationCapability());
- mcsnp0.setResponse(notify);
-
- assertTrue(jbcm1.getNotificationPolicy() instanceof MockClusteredSessionNotificationPolicy);
- MockClusteredSessionNotificationPolicy mcsnp1 = (MockClusteredSessionNotificationPolicy) jbcm1.getNotificationPolicy();
- assertNotNull("capability set", mcsnp1.getClusteredSessionNotificationCapability());
- mcsnp1.setResponse(notify);
-
- MockHttpSessionListener hsl0 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal0 = new MockHttpSessionAttributeListener();
- Context ctx = (Context) jbcm0.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl0 });
- ctx.setApplicationEventListeners(new Object[]{ hsal0 });
-
- MockHttpSessionListener hsl1 = new MockHttpSessionListener();
- MockHttpSessionAttributeListener hsal1 = new MockHttpSessionAttributeListener();
- ctx = (Context) jbcm1.getContainer();
- ctx.setApplicationLifecycleListeners(new Object[]{ hsl1 });
- ctx.setApplicationEventListeners(new Object[]{ hsal1 });
-
- // Initial request
- SetAttributesRequestHandler setHandler = new SetAttributesRequestHandler(attributes, false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, null);
-
- validateNewSession(setHandler);
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.CREATED, hsl0.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.ADDED, hsal0.invocations.get(0));
- assertEquals(2, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.BOUND, SessionSpecListenerAttribute.invocations.get(0));
- assertEquals(SessionSpecListenerAttribute.Type.PASSIVATED, SessionSpecListenerAttribute.invocations.get(1));
-
- validateNoNotifications(null, null, hsl1, hsal1, null);
- clearNotifications(hsl0, hsal0, null, null, SessionSpecListenerAttribute.invocations);
-
- }
-
- jbcm0.stop();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- assertEquals(1, hsl0.invocations.size());
- assertEquals(MockHttpSessionListener.Type.DESTROYED, hsl0.invocations.get(0));
- assertEquals(1, hsal0.invocations.size());
- assertEquals(MockHttpSessionAttributeListener.Type.REMOVED, hsal0.invocations.get(0));
- assertEquals(1, SessionSpecListenerAttribute.invocations.size());
- assertEquals(SessionSpecListenerAttribute.Type.UNBOUND, SessionSpecListenerAttribute.invocations.get(0));
-
- validateNoNotifications(null, null, hsl1, hsal1, null);
- clearNotifications(hsl0, hsal0, null, null, SessionSpecListenerAttribute.invocations);
-
-
- }
-
- jbcm1.stop();
-
- if (!notify)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- else
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1);
- }
- }
-
- private void validateNoNotifications(MockHttpSessionListener hsl0, MockHttpSessionAttributeListener hsal0,
- MockHttpSessionListener hsl1, MockHttpSessionAttributeListener hsal1)
- {
- validateNoNotifications(hsl0, hsal0, hsl1, hsal1, SessionSpecListenerAttribute.invocations);
- }
-
- private void validateNoNotifications(MockHttpSessionListener hsl0, MockHttpSessionAttributeListener hsal0,
- MockHttpSessionListener hsl1, MockHttpSessionAttributeListener hsal1, List<SessionSpecListenerAttribute.Type> sspalis)
- {
- if (hsl0 != null)
- {
- assertEquals(0, hsl0.invocations.size());
- }
- if (hsal0 != null)
- {
- assertEquals(0, hsal0.invocations.size());
- }
- if (hsl1 != null)
- {
- assertEquals(0, hsl1.invocations.size());
- }
- if (hsal1 != null)
- {
- assertEquals(0, hsal1.invocations.size());
- }
-
- if (sspalis != null)
- {
- assertEquals(0, sspalis.size());
- }
-
- clearNotifications(hsl0, hsal0, hsl1, hsal1, sspalis);
- }
-
- private void clearNotifications(MockHttpSessionListener hsl0, MockHttpSessionAttributeListener hsal0,
- MockHttpSessionListener hsl1, MockHttpSessionAttributeListener hsal1, List<SessionSpecListenerAttribute.Type> sspalis)
- {
-
- if (hsl0 != null)
- {
- hsl0.invocations.clear();
- }
- if (hsal0 != null)
- {
- hsal0.invocations.clear();
- }
- if (hsl1 != null)
- {
- hsl1.invocations.clear();
- }
- if (hsal1 != null)
- {
- hsal1.invocations.clear();
- }
-
- if (sspalis != null)
- {
- sspalis.clear();
- }
- }
-
- protected JBossCacheManager[] getCacheManagers(String warname, int maxInactive, int maxIdle)
- throws Exception
- {
- JBossCacheManager jbcm0 = SessionTestUtil.createManager(warname, maxInactive, pojoCaches[0], null);
- JBossWebMetaData metadata = SessionTestUtil.createWebMetaData(getReplicationGranularity(), getReplicationTrigger(), -1, maxIdle > 0, maxIdle, -1 ,false, 0);
- // FIXME replacing setting system property w/ this:
-// metadata.setSessionNotificationPolicy(MockClusteredSessionNotificationPolicy.class.getName());
- jbcm0.init(warname, metadata);
- this.managers.add(jbcm0);
- jbcm0.start();
-
- JBossCacheManager jbcm1 = SessionTestUtil.createManager(warname, maxInactive, pojoCaches[1], null);
- metadata = SessionTestUtil.createWebMetaData(getReplicationGranularity(), getReplicationTrigger(), -1, true, maxIdle, -1 ,false, 0);
- // FIXME replacing setting system property w/ this:
-// metadata.setSessionNotificationPolicy(MockClusteredSessionNotificationPolicy.class.getName());
- jbcm1.init(warname, metadata);
- this.managers.add(jbcm1);
- jbcm1.start();
-
- return new JBossCacheManager[]{jbcm0, jbcm1};
- }
-
- protected void validateExpectedAttributes(Map<String, Object> expected, BasicRequestHandler handler)
- {
- assertFalse(handler.isNewSession());
-
- if (handler.isCheckAttributeNames())
- {
- assertEquals(expected.size(), handler.getAttributeNames().size());
- }
- Map<String, Object> checked = handler.getCheckedAttributes();
- assertEquals(expected.size(), checked.size());
- for (Map.Entry<String, Object> entry : checked.entrySet())
- assertEquals(entry.getKey(), expected.get(entry.getKey()), entry.getValue());
-
- }
-
- protected void validateNewSession(BasicRequestHandler handler)
- {
- assertTrue(handler.isNewSession());
- assertEquals(handler.getCreationTime(), handler.getLastAccessedTime());
- if (handler.isCheckAttributeNames())
- {
- assertEquals(0, handler.getAttributeNames().size());
- }
- Map<String, Object> checked = handler.getCheckedAttributes();
- for (Map.Entry<String, Object> entry : checked.entrySet())
- assertNull(entry.getKey(), entry.getValue());
- }
-
-
-}
Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ReplicationToPassivatedSessionUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ReplicationToPassivatedSessionUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/ReplicationToPassivatedSessionUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,186 +0,0 @@
-/*
- * 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.
- */
-
-package org.jboss.test.cluster.defaultcfg.simpleweb.test;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-
-import org.jboss.cache.pojo.PojoCache;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.jboss.ReplicationGranularity;
-import org.jboss.metadata.web.jboss.ReplicationTrigger;
-import org.jboss.test.cluster.testutil.CacheConfigTestSetup;
-import org.jboss.test.cluster.testutil.JGroupsSystemPropertySupport;
-import org.jboss.test.cluster.testutil.SessionTestUtil;
-import org.jboss.test.cluster.web.mocks.SetAttributesRequestHandler;
-import org.jboss.web.tomcat.service.session.JBossCacheManager;
-
-/**
- * Unit tests of session expiration
- *
- * TODO move some of the other expiration tests here where we can
- * more closely control the test timing
- *
- * @author Brian Stansberry
- */
-public class ReplicationToPassivatedSessionUnitTestCase extends TestCase
-{
- protected static PojoCache[] pojoCaches = new PojoCache[2];
-
- protected static long testId = System.currentTimeMillis();
-
- protected static boolean useBuddyRepl = Boolean.valueOf(System.getProperty("jbosstest.cluster.web.cache.br")).booleanValue();
-
- protected Logger log = Logger.getLogger(getClass());
-
- protected Set<JBossCacheManager> managers = new HashSet<JBossCacheManager>();
-
- public ReplicationToPassivatedSessionUnitTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite() throws Exception
- {
- File tmpDir = new File(System.getProperty("java.io.tmpdir"));
- File root = new File(tmpDir, ReplicationToPassivatedSessionUnitTestCase.class.getSimpleName());
- return CacheConfigTestSetup.getTestSetup(ReplicationToPassivatedSessionUnitTestCase.class, pojoCaches, false, root.getAbsolutePath(), !useBuddyRepl, false);
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- try
- {
- super.tearDown();
- }
- finally
- {
- SessionTestUtil.clearDistributedCacheManagerFactory();
-
- for (JBossCacheManager manager : managers)
- manager.stop();
-
- managers.clear();
- }
- }
-
- protected ReplicationGranularity getReplicationGranularity()
- {
- return ReplicationGranularity.SESSION;
- }
-
- protected ReplicationTrigger getReplicationTrigger()
- {
- return ReplicationTrigger.SET_AND_NON_PRIMITIVE_GET;
- }
-
- public void testReplicationToPassivatedSession() throws Exception
- {
- log.info("++++ Starting testReplicationToPassivatedSession ++++");
-
- String warname = String.valueOf(++testId);
-
- // A war with a maxInactive of 30 mins and a maxIdle of 1
- JBossCacheManager[] mgrs = getCacheManagers(warname, 1800000, 1, -1);
- JBossCacheManager jbcm0 = mgrs[0];
- JBossCacheManager jbcm1 = mgrs[1];
-
- Object value = "0";
- SetAttributesRequestHandler setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", value), false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, null);
-
- String id = setHandler.getSessionId();
-
- SessionTestUtil.sleepThread(1100);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- value = "1";
- setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", value), false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, id);
-
- assertEquals("0", setHandler.getCheckedAttributes().get("count"));
-
- value = "2";
- setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", value), false);
- SessionTestUtil.invokeRequest(jbcm1, setHandler, id);
-
- assertEquals("1", setHandler.getCheckedAttributes().get("count"));
- }
-
- public void testFailoverToPassivatedSession() throws Exception
- {
- log.info("++++ Starting testFailoverToPassivatedSession ++++");
-
- String warname = String.valueOf(++testId);
-
- // A war with a maxInactive of 30 mins and a maxIdle of 1
- JBossCacheManager[] mgrs = getCacheManagers(warname, 1800000, 1, -1);
- JBossCacheManager jbcm0 = mgrs[0];
- JBossCacheManager jbcm1 = mgrs[1];
-
- Object value = "0";
- SetAttributesRequestHandler setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", value), false);
- SessionTestUtil.invokeRequest(jbcm0, setHandler, null);
-
- String id = setHandler.getSessionId();
-
- SessionTestUtil.sleepThread(1100);
-
- jbcm0.backgroundProcess();
- jbcm1.backgroundProcess();
-
- value = "1";
- setHandler = new SetAttributesRequestHandler(Collections.singletonMap("count", value), false);
- SessionTestUtil.invokeRequest(jbcm1, setHandler, id);
-
- assertEquals("0", setHandler.getCheckedAttributes().get("count"));
- }
-
- protected JBossCacheManager[] getCacheManagers(String warname, int maxInactive, int maxIdle, int maxUnreplicated)
- throws Exception
- {
- JBossCacheManager jbcm0 = SessionTestUtil.createManager(warname, maxInactive, pojoCaches[0], null);
- JBossWebMetaData metadata = SessionTestUtil.createWebMetaData(getReplicationGranularity(), getReplicationTrigger(), -1, true, maxIdle, -1, true, maxUnreplicated);
- jbcm0.init(warname, metadata);
- this.managers.add(jbcm0);
- jbcm0.start();
-
- JBossCacheManager jbcm1 = SessionTestUtil.createManager(warname, maxInactive, pojoCaches[1], null);
- metadata = SessionTestUtil.createWebMetaData(getReplicationGranularity(), getReplicationTrigger(), -1, true, maxIdle, -1, true, -1);
- jbcm1.init(warname, metadata);
- this.managers.add(jbcm1);
- jbcm1.start();
-
- return new JBossCacheManager[]{jbcm0, jbcm1};
- }
-
-}
Modified: trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/PartitionRestartUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/PartitionRestartUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/PartitionRestartUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -56,7 +56,7 @@
public static Test suite() throws Exception
{
- Test t1 = JBossClusteredTestCase.getDeploySetup(PartitionRestartUnitTestCase.class, "partition-restart-jboss-beans.xml, partition-restart.jar");
+ Test t1 = JBossClusteredTestCase.getDeploySetup(PartitionRestartUnitTestCase.class, "partition-restart-jboss-beans.xml, partition-restart-service.xml, partition-restart.jar");
return t1;
}
Modified: trunk/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/testutil/CacheConfigTestSetup.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -22,8 +22,6 @@
package org.jboss.test.cluster.testutil;
-import java.io.File;
-
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -80,8 +78,7 @@
for (int i = 0; i < pojoCaches.length; i++)
{
- String cacheStore = (passivationDir == null ? null : new File(passivationDir, String.valueOf(i)).getAbsolutePath());
- pojoCaches[i] = SessionTestUtil.createCache(local, cacheStore, totalReplication, marshalling, null);
+ pojoCaches[i] = SessionTestUtil.createCache(local, passivationDir, totalReplication, marshalling, null);
}
}
finally
Modified: trunk/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/testutil/SessionTestUtil.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -46,6 +46,7 @@
import org.jboss.cache.config.Configuration;
import org.jboss.cache.config.CacheLoaderConfig.IndividualCacheLoaderConfig;
import org.jboss.cache.config.Configuration.CacheMode;
+import org.jboss.cache.factories.XmlConfigurationParser;
import org.jboss.cache.loader.FileCacheLoaderConfig;
import org.jboss.cache.pojo.PojoCache;
import org.jboss.cache.pojo.PojoCacheFactory;
@@ -143,8 +144,8 @@
public static Configuration getConfiguration(boolean local, String passivationDir,
boolean totalReplication, boolean marshalling)
{
- PojoCache temp = PojoCacheFactory.createCache(CONFIG_LOCATION, false);
- Configuration config = temp.getCache().getConfiguration();
+ XmlConfigurationParser parser = new XmlConfigurationParser();
+ Configuration config = parser.parseFile(CONFIG_LOCATION);
if (local)
config.setCacheMode(CacheMode.LOCAL);
if (passivationDir == null)
Modified: trunk/testsuite/src/main/org/jboss/test/cluster/web/jvmroute/MockSession.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/web/jvmroute/MockSession.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/web/jvmroute/MockSession.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -30,7 +30,6 @@
import org.jboss.metadata.web.jboss.ReplicationTrigger;
import org.jboss.web.tomcat.service.session.AbstractJBossManager;
import org.jboss.web.tomcat.service.session.ClusteredSession;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationCause;
/**
* @author Brian Stansberry
@@ -85,7 +84,7 @@
}
@Override
- public void initAfterLoad(AbstractJBossManager manager, ClusteredSessionNotificationCause cause)
+ public void initAfterLoad(AbstractJBossManager manager)
{
}
Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/InvalidateSessionRequestHandler.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/InvalidateSessionRequestHandler.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/InvalidateSessionRequestHandler.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,55 +0,0 @@
-/*
- * 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.
- */
-
-package org.jboss.test.cluster.web.mocks;
-
-import java.util.Set;
-
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-
-/**
- * @author Brian Stansberry
- *
- */
-public class InvalidateSessionRequestHandler extends BasicRequestHandler
-{
- /**
- * Create a new RemoveAttributesRequestHandler.
- *
- */
- public InvalidateSessionRequestHandler(Set<String> toCheck, boolean checkNames)
- {
- super(toCheck, checkNames);
- }
-
- public void handleRequest(Request request, Response response)
- {
- super.handleRequest(request, response);
-
- getSession().invalidate();
- }
-
-
-
-
-}
Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/RemoveAttributesRequestHandler.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/RemoveAttributesRequestHandler.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/web/mocks/RemoveAttributesRequestHandler.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,64 +0,0 @@
-/*
- * 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.
- */
-
-package org.jboss.test.cluster.web.mocks;
-
-import java.util.Set;
-
-import javax.servlet.http.HttpSession;
-
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-
-/**
- * @author Brian Stansberry
- *
- */
-public class RemoveAttributesRequestHandler extends BasicRequestHandler
-{
- private Set<String> toRemove;
-
- /**
- * Create a new RemoveAttributesRequestHandler.
- *
- */
- public RemoveAttributesRequestHandler(Set<String> toRemove, boolean checkNames)
- {
- super(toRemove, checkNames);
- this.toRemove = toRemove;
- }
-
- public void handleRequest(Request request, Response response)
- {
- super.handleRequest(request, response);
-
- HttpSession session = getSession();
- for (String key : toRemove)
- {
- session.removeAttribute(key);
- }
- }
-
-
-
-
-}
Modified: trunk/testsuite/src/main/org/jboss/test/jbossmessaging/JBossMessagingAdmin.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jbossmessaging/JBossMessagingAdmin.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/jbossmessaging/JBossMessagingAdmin.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -55,7 +55,7 @@
{
name = JBossMessagingAdmin.class.getName() ;
serverPeer = new ObjectName("jboss.messaging:service=ServerPeer");
- namingService = new ObjectName("jboss:service=NamingService");
+ namingService = new ObjectName("jboss:service=Naming");
}
catch (Exception e)
{
Modified: trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -52,16 +52,16 @@
// /**
// * A -service.xml module (conf/jboss-service.xml)
// */
- public void testGetServiceXmlDescriptor() throws Exception
- {
- String moduleName = "legacy-conf-service.xml";
- String moduleType = "ServiceModule";
-
- String descriptor = getDescriptor(moduleType, moduleName);
- assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
- descriptor != null && !descriptor.equals(""));
- }
-//
+// public void testGetServiceXmlDescriptor() throws Exception
+// {
+// String moduleName = "jboss-service.xml";
+// String moduleType = "ServiceModule";
+//
+// String descriptor = getDescriptor(moduleType, moduleName);
+// assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
+// descriptor != null && !descriptor.equals(""));
+// }
+//
// /**
// * A .sar module (deploy/jbossweb-tomcat55.sar)
// */
@@ -69,12 +69,12 @@
// {
// String moduleName = "jbossweb-tomcat55.sar";
// String moduleType = "ServiceModule";
-//
+//
// String descriptor = getDescriptor(moduleType, moduleName);
// assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
// descriptor != null && !descriptor.equals(""));
// }
-//
+//
// /**
// * A -deployer.xml module (deploy/ejb-deployer.xml)
// */
@@ -82,12 +82,12 @@
// {
// String moduleName = "ejb-deployer.xml";
// String moduleType = "ServiceModule";
-//
+//
// String descriptor = getDescriptor(moduleType, moduleName);
// assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
// descriptor != null && !descriptor.equals(""));
// }
-//
+//
// /**
// * A .deployer module (deploy/jboss-aop.deployer)
// */
@@ -95,7 +95,7 @@
// {
// String moduleName = "jboss-aop.deployer";
// String moduleType = "ServiceModule";
-//
+//
// String descriptor = getDescriptor(moduleType, moduleName);
// assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
// descriptor != null && !descriptor.equals(""));
Modified: trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -298,37 +298,37 @@
// NYI - see JBAS-5545
//
- /** Test EJBModule for the ejb-management.jar
- * @throws Exception
- */
- public void testEJBModule() throws Exception
- {
- getLog().debug("+++ testEJBModule");
- Management jsr77MEJB = getManagementEJB();
- String domainName = jsr77MEJB.getDefaultDomain();
- ObjectName mejbModuleName = new ObjectName(domainName + ":" +
- "J2EEServer=Local,J2EEApplication=null,"
- + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.EJBModule
- + ",name=ejb-management.jar");
- boolean isRegistered = jsr77MEJB.isRegistered(mejbModuleName);
- assertTrue(mejbModuleName + " is not registered", isRegistered);
- String[] ejbs = (String[]) jsr77MEJB.getAttribute(mejbModuleName, "ejbs");
- // TODO assertTrue("ejb-management.jar.Ejbs.length == 0", ejbs.length > 0);
- for (int n = 0; n < ejbs.length; n++)
- {
- ObjectName ejb = new ObjectName(ejbs[n]);
- getLog().debug("Ejbs[" + n + "]=" + ejb);
- StatelessSessionBeanStats stats = (StatelessSessionBeanStats)
- jsr77MEJB.getAttribute(ejb, "stats");
- String[] statNames = stats.getStatisticNames();
- for (int s = 0; s < statNames.length; s++)
- {
- Statistic theStat = stats.getStatistic(statNames[s]);
- getLog().debug(theStat);
- }
- }
- jsr77MEJB.remove();
- }
+// /** Test EJBModule for the ejb-management.jar
+// * @throws Exception
+// */
+// public void testEJBModule() throws Exception
+// {
+// getLog().debug("+++ testEJBModule");
+// Management jsr77MEJB = getManagementEJB();
+// String domainName = jsr77MEJB.getDefaultDomain();
+// ObjectName mejbModuleName = new ObjectName(domainName + ":" +
+// "J2EEServer=Local,J2EEApplication=null,"
+// + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.EJBModule
+// + ",name=ejb-management.jar");
+// boolean isRegistered = jsr77MEJB.isRegistered(mejbModuleName);
+// assertTrue(mejbModuleName + " is registered", isRegistered);
+// String[] ejbs = (String[]) jsr77MEJB.getAttribute(mejbModuleName, "ejbs");
+// assertTrue("ejb-management.jar.Ejbs.length > 0", ejbs.length > 0);
+// for (int n = 0; n < ejbs.length; n++)
+// {
+// ObjectName ejb = new ObjectName(ejbs[n]);
+// getLog().debug("Ejbs[" + n + "]=" + ejb);
+// StatelessSessionBeanStats stats = (StatelessSessionBeanStats)
+// jsr77MEJB.getAttribute(ejb, "stats");
+// String[] statNames = stats.getStatisticNames();
+// for (int s = 0; s < statNames.length; s++)
+// {
+// Statistic theStat = stats.getStatistic(statNames[s]);
+// getLog().debug(theStat);
+// }
+// }
+// jsr77MEJB.remove();
+// }
/** A test of accessing all StatelessSessionBean stats
* @throws Exception
@@ -363,49 +363,49 @@
// NYI - see JBAS-5545
//
- /** Test WebModule for the jmx-console.war
- * @throws Exception
- */
- public void testWebModule() throws Exception
- {
- getLog().debug("+++ testWebModule");
- Management jsr77MEJB = getManagementEJB();
- String domainName = jsr77MEJB.getDefaultDomain();
- ObjectName webModuleName = new ObjectName(domainName + ":" +
- "J2EEServer=Local,J2EEApplication=null,"
- + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.WebModule
- + ",name=jmx-console.war");
- boolean isRegistered = jsr77MEJB.isRegistered(webModuleName);
- assertTrue(webModuleName + " is not registered", isRegistered);
- String[] servlets = (String[]) jsr77MEJB.getAttribute(webModuleName, "servlets");
- // TODO assertTrue("jmx-console.war.Servlets.length == 0", servlets.length > 0);
- for (int n = 0; n < servlets.length; n++)
- getLog().debug("Servlets[" + n + "]=" + servlets[n]);
- jsr77MEJB.remove();
- }
+// /** Test WebModule for the jmx-console.war
+// * @throws Exception
+// */
+// public void testWebModule() throws Exception
+// {
+// getLog().debug("+++ testWebModule");
+// Management jsr77MEJB = getManagementEJB();
+// String domainName = jsr77MEJB.getDefaultDomain();
+// ObjectName webModuleName = new ObjectName(domainName + ":" +
+// "J2EEServer=Local,J2EEApplication=null,"
+// + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.WebModule
+// + ",name=jmx-console.war");
+// boolean isRegistered = jsr77MEJB.isRegistered(webModuleName);
+// assertTrue(webModuleName + " is registered", isRegistered);
+// String[] servlets = (String[]) jsr77MEJB.getAttribute(webModuleName, "servlets");
+// assertTrue("jmx-console.war.Servlets.length > 0", servlets.length > 0);
+// for (int n = 0; n < servlets.length; n++)
+// getLog().debug("Servlets[" + n + "]=" + servlets[n]);
+// jsr77MEJB.remove();
+// }
// NYI - see JBAS-5545
//
- /** Test ResourceAdapterModule for the jboss-local-jdbc.rar
- * @throws Exception
- */
- public void testResourceAdapterModule() throws Exception
- {
- getLog().debug("+++ testResourceAdapterModule");
- Management jsr77MEJB = getManagementEJB();
- String domainName = jsr77MEJB.getDefaultDomain();
- ObjectName rarModuleName = new ObjectName(domainName + ":" +
- "J2EEServer=Local,J2EEApplication=null,"
- + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.ResourceAdapterModule
- + ",name=jboss-local-jdbc.rar");
- boolean isRegistered = jsr77MEJB.isRegistered(rarModuleName);
- assertTrue(rarModuleName + " is not registered", isRegistered);
- String[] ras = (String[]) jsr77MEJB.getAttribute(rarModuleName, "resourceAdapters");
- // TODO assertTrue("jboss-local-jdbc.rar.ResourceAdapters.length == 0", ras.length > 0);
- for (int n = 0; n < ras.length; n++)
- getLog().debug("ResourceAdapters[" + n + "]=" + ras[n]);
- jsr77MEJB.remove();
- }
+// /** Test ResourceAdapterModule for the jboss-local-jdbc.rar
+// * @throws Exception
+// */
+// public void testResourceAdapterModule() throws Exception
+// {
+// getLog().debug("+++ testResourceAdapterModule");
+// Management jsr77MEJB = getManagementEJB();
+// String domainName = jsr77MEJB.getDefaultDomain();
+// ObjectName rarModuleName = new ObjectName(domainName + ":" +
+// "J2EEServer=Local,J2EEApplication=null,"
+// + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.ResourceAdapterModule
+// + ",name=jboss-local-jdbc.rar");
+// boolean isRegistered = jsr77MEJB.isRegistered(rarModuleName);
+// assertTrue(rarModuleName + " is registered", isRegistered);
+// String[] ras = (String[]) jsr77MEJB.getAttribute(rarModuleName, "resourceAdapters");
+// assertTrue("jboss-local-jdbc.rar.ResourceAdapters.length > 0", ras.length > 0);
+// for (int n = 0; n < ras.length; n++)
+// getLog().debug("ResourceAdapters[" + n + "]=" + ras[n]);
+// jsr77MEJB.remove();
+// }
/**
* Test the notification delivery by restarting Default DataSource
Modified: trunk/testsuite/src/main/org/jboss/test/naming/restart/ObjectBinder.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/naming/restart/ObjectBinder.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/naming/restart/ObjectBinder.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -27,6 +27,7 @@
import javax.naming.NameNotFoundException;
import org.jboss.logging.Logger;
+import org.jboss.naming.NamingServiceMBean;
import org.jnp.interfaces.MarshalledValuePair;
import org.jnp.interfaces.Naming;
import org.jnp.interfaces.NamingParser;
@@ -47,12 +48,12 @@
public static final String SUBCONTEXT_NAME = "LocalSubcontext";
// private String providerURL;
private NamingParser parser = new NamingParser();
- private Naming naming;
+ private NamingServiceMBean naming;
/* (non-Javadoc)
* @see org.jboss.test.naming.restart.ObjectBinderMBean#setNamingService(org.jboss.naming.NamingServiceMBean)
*/
- public void setNamingService(Naming naming)
+ public void setNamingService(NamingServiceMBean naming)
{
// this.providerURL = (naming == null)
// ? null
@@ -85,22 +86,22 @@
// Context ctx = new InitialContext(env);
// ctx.bind(NAME, VALUE);
-
- naming.bind(parser.parse(NAME),
+ Naming namingServer = naming.getNamingInstance();
+ namingServer.bind(parser.parse(NAME),
new MarshalledValuePair(VALUE),
VALUE.getClass().getName());
- log.info("Bound " + VALUE + " to " + naming + " under " + NAME);
- Context sub = naming.createSubcontext(parser.parse(SUBCONTEXT_NAME));
+ log.info("Bound " + VALUE + " to " + namingServer + " under " + NAME);
+ Context sub = namingServer.createSubcontext(parser.parse(SUBCONTEXT_NAME));
sub.bind(parser.parse(NAME), VALUE);
log.info("Bound " + VALUE + " to " + sub + " under " + NAME);
// NOTE: we must bind the NonDeserializable directly, or else the
// NamingContext will wrap it in a MarshalledValuePair, which will
// defeat the test by triggering deserialization too late
- naming.bind(parser.parse(BAD_BINDING), new NonDeserializable(),
+ namingServer.bind(parser.parse(BAD_BINDING), new NonDeserializable(),
NonDeserializable.class.getName());
- log.info("Bound a NonDeserializable to " + naming + " under " + BAD_BINDING);
+ log.info("Bound a NonDeserializable to " + namingServer + " under " + BAD_BINDING);
}
@@ -128,10 +129,11 @@
// Context ctx = new InitialContext(env);
// ctx.unbind(NAME);
+ Naming namingServer = naming.getNamingInstance();
try
{
- naming.unbind(parser.parse(SUBCONTEXT_NAME + "/" + NAME));
- log.info("Unbound " + SUBCONTEXT_NAME + "/" + NAME + " from " + naming);
+ namingServer.unbind(parser.parse(SUBCONTEXT_NAME + "/" + NAME));
+ log.info("Unbound " + SUBCONTEXT_NAME + "/" + NAME + " from " + namingServer);
}
catch (NameNotFoundException ignored)
{
@@ -139,8 +141,8 @@
}
try
{
- naming.unbind(parser.parse(SUBCONTEXT_NAME));
- log.info("Unbound " + SUBCONTEXT_NAME + " from " + naming);
+ namingServer.unbind(parser.parse(SUBCONTEXT_NAME));
+ log.info("Unbound " + SUBCONTEXT_NAME + " from " + namingServer);
}
catch (NameNotFoundException ignored)
{
@@ -148,8 +150,8 @@
}
try
{
- naming.unbind(parser.parse(NAME));
- log.info("Unbound " + NAME + " from " + naming);
+ namingServer.unbind(parser.parse(NAME));
+ log.info("Unbound " + NAME + " from " + namingServer);
}
catch (NameNotFoundException ignored)
{
@@ -157,8 +159,8 @@
}
try
{
- naming.unbind(parser.parse(BAD_BINDING));
- log.info("Unbound " + BAD_BINDING + " from " + naming);
+ namingServer.unbind(parser.parse(BAD_BINDING));
+ log.info("Unbound " + BAD_BINDING + " from " + namingServer);
}
catch (NameNotFoundException ignored)
{
Modified: trunk/testsuite/src/main/org/jboss/test/naming/restart/RestartNamingService.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/naming/restart/RestartNamingService.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/naming/restart/RestartNamingService.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -26,7 +26,6 @@
import org.jboss.naming.NamingService;
import org.jnp.server.Main;
-import org.jnp.server.MainMBean;
/**
* Overrides NamingService in startService() to not use the AS's statically
@@ -35,25 +34,25 @@
* of the normal way a NamingService is restarted -- via a full server
* restart.
*
- * Once JBNAME-18 is fixed this class is redundant.
- *
* @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
- * @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class RestartNamingService extends Main
+public class RestartNamingService extends NamingService
{
@Override
- public void stop()
+ protected void startService() throws Exception
{
- super.stop();
- try
- {
- UnicastRemoteObject.unexportObject(getNamingInstance(), true);
- }
- catch(Exception e)
- {
- throw new RuntimeException(e);
- }
+ Main main = getNamingServer();
+ main.setUseGlobalService(false);
+ main.setInstallGlobalService(false);
+
+ super.startService();
}
+
+ @Override
+ protected void stopService() throws Exception
+ {
+ super.stopService();
+ UnicastRemoteObject.unexportObject(getNamingInstance(), true);
+ }
}
Modified: trunk/testsuite/src/main/org/jboss/test/naming/test/SecurityUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/naming/test/SecurityUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/naming/test/SecurityUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -58,12 +58,10 @@
// JBAS-3606, the execution order of tests in this test case is important
// so it must be defined explicitly when running under some JVMs
TestSuite suite = new TestSuite();
- /* Invalid due to JBAS-6072
suite.addTest(new SecurityUnitTestCase("testSecureHttpInvokerFailure"));
suite.addTest(new SecurityUnitTestCase("testSecureHttpInvoker"));
suite.addTest(new SecurityUnitTestCase("testHttpReadonlyLookup"));
suite.addTest(new SecurityUnitTestCase("testHttpReadonlyContextLookup"));
- */
suite.addTest(new SecurityUnitTestCase("testLoginInitialContext"));
suite.addTest(new SecurityUnitTestCase("testSecureEJBViaLoginInitialContextFactory"));
suite.addTest(new SecurityUnitTestCase("testSecureEJBViaJndiLoginInitialContextFactory"));
Modified: trunk/testsuite/src/main/org/jboss/test/naming/test/SimpleUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/naming/test/SimpleUnitTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/naming/test/SimpleUnitTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -313,7 +313,6 @@
ctx.close();
}
- /* TODO: need a remoting http invoker or deploy legacy http-invoker.sar
public void testHttpInvoker() throws Exception
{
getLog().debug("+++ testHttpInvoker");
@@ -334,6 +333,5 @@
}
ctx.close();
}
- */
}
Deleted: trunk/testsuite/src/main/org/jboss/test/spring/test/AbstractSpringTest.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/spring/test/AbstractSpringTest.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/spring/test/AbstractSpringTest.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,57 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.test.spring.test;
-
-import java.net.URL;
-import javax.management.MBeanServerConnection;
-
-import org.jboss.deployment.MainDeployerMBean;
-import org.jboss.test.JBossTestCase;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public abstract class AbstractSpringTest extends JBossTestCase
-{
- protected AbstractSpringTest(String s)
- {
- super(s);
- }
-
- protected <T> T invokeMainDeployer(String methodName, Object[] args, String[] sig, Class<T> clazz) throws Exception
- {
- if (clazz == null)
- throw new IllegalArgumentException("Null class.");
-
- MBeanServerConnection server = getServer();
- Object result = server.invoke(MainDeployerMBean.OBJECT_NAME, methodName, args, sig);
- return clazz.cast(result);
- }
-
- protected boolean isDeployed(String deployment) throws Exception
- {
- URL deployURL = getDeployURL(deployment);
- String[] sig = {URL.class.getName()};
- Object[] args = {deployURL};
- return invokeMainDeployer("isDeployed", args, sig, Boolean.class);
- }
-}
\ No newline at end of file
Deleted: trunk/testsuite/src/main/org/jboss/test/spring/test/SpringClusterTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/spring/test/SpringClusterTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/spring/test/SpringClusterTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,45 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.test.spring.test;
-
-import junit.framework.Test;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class SpringClusterTestCase extends AbstractSpringTest
-{
- public SpringClusterTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite() throws Exception
- {
- return getDeploySetup(SpringClusterTestCase.class, "spring-cluster-pojos.jar");
- }
-
- public void testStandalone() throws Exception
- {
- assertTrue(isDeployed("spring-cluster-pojos.jar"));
- }
-}
\ No newline at end of file
Modified: trunk/testsuite/src/main/org/jboss/test/spring/test/SpringStandaloneTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/spring/test/SpringStandaloneTestCase.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/main/org/jboss/test/spring/test/SpringStandaloneTestCase.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -21,12 +21,17 @@
*/
package org.jboss.test.spring.test;
+import java.net.URL;
+import javax.management.MBeanServerConnection;
+
import junit.framework.Test;
+import org.jboss.deployment.MainDeployerMBean;
+import org.jboss.test.JBossTestCase;
/**
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public class SpringStandaloneTestCase extends AbstractSpringTest
+public class SpringStandaloneTestCase extends JBossTestCase
{
public SpringStandaloneTestCase(String name)
{
@@ -38,6 +43,24 @@
return getDeploySetup(SpringStandaloneTestCase.class, "standalone-spring.xml");
}
+ protected <T> T invokeMainDeployer(String methodName, Object[] args, String[] sig, Class<T> clazz) throws Exception
+ {
+ if (clazz == null)
+ throw new IllegalArgumentException("Null class.");
+
+ MBeanServerConnection server = getServer();
+ Object result = server.invoke(MainDeployerMBean.OBJECT_NAME, methodName, args, sig);
+ return clazz.cast(result);
+ }
+
+ protected boolean isDeployed(String deployment) throws Exception
+ {
+ URL deployURL = getDeployURL(deployment);
+ String[] sig = {URL.class.getName()};
+ Object[] args = {deployURL};
+ return invokeMainDeployer("isDeployed", args, sig, Boolean.class);
+ }
+
public void testStandalone() throws Exception
{
assertTrue(isDeployed("standalone-spring.xml"));
Modified: trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -178,18 +178,18 @@
<bean name="PassExpHAJNDI"
class="org.jboss.ha.jndi.HANamingService">
+ <depends>jboss:service=Naming</depends>
+
<!-- The partition used for group RPCs to find locally bound objects on other nodes -->
<property name="HAPartition"><inject bean="PassExpPartition"/></property>
<!-- Handler for the replicated tree -->
<property name="distributedTreeManager">
<bean class="org.jboss.ha.jndi.impl.jbc.JBossCacheDistributedTreeManager">
- <property name="cacheHandler"><inject bean="PassExpCacheHandler"/></property>
+ <property name="clusteredCache"><inject bean="PassExpCacheHandler" property="cache"/></property>
</bean>
</property>
- <property name="localNamingInstance"><inject bean="LocalNamingBean" property="namingInstance"/></property>
-
<!-- The thread pool used to control the bootstrap and auto discovery lookups -->
<property name="lookupPool"><inject bean="PassExpThreadPool"/></property>
@@ -231,55 +231,4 @@
-->
</bean>
- <!-- ==================================================================== -->
- <!-- HA Detached Invoker using JBoss Remoting for transport -->
- <!-- ==================================================================== -->
-
- <bean name="PassExpUnifiedInvokerHA"
- class="org.jboss.invocation.unified.server.UnifiedInvokerHA">
-
- <depends>jboss:service=TransactionManager</depends>
- <depends>PassExpPartition</depends>
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=unifiedha,partitionName=PassExpPartition", exposedInterface=org.jboss.invocation.unified.server.UnifiedInvokerMBean.class, registerDirectly=true)</annotation>
-
- <property name="connector"><inject bean="PassExpConnector"/></property>
- </bean>
-
- <!-- ==================================================================== -->
- <!-- HA Session State Service for EJB2 SFSBs -->
- <!-- ==================================================================== -->
-
- <bean name="PassExpHASessionStateService"
- class="org.jboss.ha.hasessionstate.server.HASessionStateService">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HASessionState,partitionName=PassExpPartition", exposedInterface=org.jboss.ha.hasessionstate.server.HASessionStateServiceMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="PassExpPartition"/></property>
-
- <!-- JNDI name under which the service is bound -->
- <property name="jndiName">/HASessionState/PassExpPartition</property>
- <!-- Max delay before cleaning unreclaimed state.
- Defaults to 30*60*1000 => 30 minutes -->
- <property name="beanCleaningDelay">0</property>
-
- </bean>
-
- <!-- ==================================================================== -->
- <!-- Distributed EJB2 entity cache invalidation -->
- <!-- ==================================================================== -->
-
- <bean name="PassExpJGCacheInvalidationBridge"
- class="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=InvalidationBridge,type=JavaGroups,partitionName=PassExpPartition", exposedInterface=org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridgeMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="PassExpPartition"/></property>
- <property name="invalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></property>
- <property name="bridgeName">PassExpJGBridge</property>
-
- </bean>
-
</deployment>
Copied: trunk/testsuite/src/resources/cluster/ejb2/passexp/partition-passexp-service.xml (from rev 79434, trunk/testsuite/src/resources/cluster/ejb2/passexp/partition-passexp-service.xml)
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/partition-passexp-service.xml (rev 0)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/partition-passexp-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- High Availability for legacy services (e.g. EJB2) -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- ==================================================================== -->
+ <!-- HA Detached Invoker using JBoss Remoting for transport -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.invocation.unified.server.UnifiedInvokerHA"
+ name="jboss:service=invoker,type=unifiedha,partitionName=PassExpPartition">
+
+ <depends>jboss:service=TransactionManager</depends>
+ <depends>PassExpPartition</depends>
+
+ <attribute name="Connector"><inject bean="PassExpConnector"/></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- HA Session State Service for EJB2 SFSBs -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService"
+ name="jboss:service=HASessionState,partitionName=PassExpPartition">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="PassExpPartition"/></attribute>
+
+ <!-- JNDI name under which the service is bound -->
+ <attribute name="JndiName">/HASessionState/PassExpPartition</attribute>
+ <!-- Max delay before cleaning unreclaimed state.
+ Defaults to 30*60*1000 => 30 minutes -->
+ <attribute name="BeanCleaningDelay">0</attribute>
+
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Distributed EJB2 entity cache invalidation -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge"
+ name="jboss.cache:service=InvalidationBridge,type=JavaGroups,partitionName=PassExpPartition">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="PassExpPartition"/></attribute>
+ <attribute name="InvalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></attribute>
+ <attribute name="BridgeName">PassExpJGBridge</attribute>
+
+ </mbean>
+
+</server>
Modified: trunk/testsuite/src/resources/cluster/partition/partition-restart-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/partition/partition-restart-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/cluster/partition/partition-restart-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -167,18 +167,18 @@
<bean name="RestartPartitionHAJNDI"
class="org.jboss.ha.jndi.HANamingService">
+ <depends>jboss:service=Naming</depends>
+
<!-- The partition used for group RPCs to find locally bound objects on other nodes -->
<property name="HAPartition"><inject bean="RestartPartition"/></property>
<!-- Handler for the replicated tree -->
<property name="distributedTreeManager">
<bean class="org.jboss.ha.jndi.impl.jbc.JBossCacheDistributedTreeManager">
- <property name="cacheHandler"><inject bean="RestartCacheHandler"/></property>
+ <property name="clusteredCache"><inject bean="RestartCacheHandler" property="cache"/></property>
</bean>
</property>
- <property name="localNamingInstance"><inject bean="LocalNamingBean" property="namingInstance"/></property>
-
<!-- The thread pool used to control the bootstrap and auto discovery lookups -->
<property name="lookupPool"><inject bean="RestartPartitionThreadPool"/></property>
@@ -220,55 +220,4 @@
-->
</bean>
- <!-- ==================================================================== -->
- <!-- HA Detached Invoker using JBoss Remoting for transport -->
- <!-- ==================================================================== -->
-
- <bean name="RestartUnifiedInvokerHA"
- class="org.jboss.invocation.unified.server.UnifiedInvokerHA">
-
- <depends>jboss:service=TransactionManager</depends>
- <depends>RestartPartition</depends>
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=unifiedha,partitionName=RestartPartition", exposedInterface=org.jboss.invocation.unified.server.UnifiedInvokerMBean.class, registerDirectly=true)</annotation>
-
- <property name="connector"><inject bean="RestartConnector"/></property>
- </bean>
-
- <!-- ==================================================================== -->
- <!-- HA Session State Service for EJB2 SFSBs -->
- <!-- ==================================================================== -->
-
- <bean name="RestartHASessionStateService"
- class="org.jboss.ha.hasessionstate.server.HASessionStateService">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HASessionState,partitionName=RestartPartition", exposedInterface=org.jboss.ha.hasessionstate.server.HASessionStateServiceMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="RestartPartition"/></property>
-
- <!-- JNDI name under which the service is bound -->
- <property name="jndiName">/HASessionState/RestartPartition</property>
- <!-- Max delay before cleaning unreclaimed state.
- Defaults to 30*60*1000 => 30 minutes -->
- <property name="beanCleaningDelay">0</property>
-
- </bean>
-
- <!-- ==================================================================== -->
- <!-- Distributed EJB2 entity cache invalidation -->
- <!-- ==================================================================== -->
-
- <bean name="RestartJGCacheInvalidationBridge"
- class="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=InvalidationBridge,type=JavaGroups,partitionName=RestartPartition", exposedInterface=org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridgeMBean.class, registerDirectly=true)</annotation>
-
- <!-- Partition used for group RPCs -->
- <property name="HAPartition"><inject bean="RestartPartition"/></property>
- <property name="invalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></property>
- <property name="bridgeName">RestartJGBridge</property>
-
- </bean>
-
</deployment>
Copied: trunk/testsuite/src/resources/cluster/partition/partition-restart-service.xml (from rev 79434, trunk/testsuite/src/resources/cluster/partition/partition-restart-service.xml)
===================================================================
--- trunk/testsuite/src/resources/cluster/partition/partition-restart-service.xml (rev 0)
+++ trunk/testsuite/src/resources/cluster/partition/partition-restart-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- High Availability for legacy services (e.g. EJB2) -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- ==================================================================== -->
+ <!-- HA Detached Invoker using JBoss Remoting for transport -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.invocation.unified.server.UnifiedInvokerHA"
+ name="jboss:service=invoker,type=unifiedha,partitionName=RestartPartition">
+
+ <depends>jboss:service=TransactionManager</depends>
+ <depends>RestartPartition</depends>
+
+ <attribute name="Connector"><inject bean="RestartConnector"/></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- HA Session State Service for EJB2 SFSBs -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.ha.hasessionstate.server.HASessionStateService"
+ name="jboss:service=HASessionState,partitionName=RestartPartition">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="RestartPartition"/></attribute>
+
+ <!-- JNDI name under which the service is bound -->
+ <attribute name="JndiName">/HASessionState/RestartPartition</attribute>
+ <!-- Max delay before cleaning unreclaimed state.
+ Defaults to 30*60*1000 => 30 minutes -->
+ <attribute name="BeanCleaningDelay">0</attribute>
+
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Distributed EJB2 entity cache invalidation -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge"
+ name="jboss.cache:service=InvalidationBridge,type=JavaGroups,partitionName=RestartPartition">
+
+ <!-- Partition used for group RPCs -->
+ <attribute name="HAPartition"><inject bean="RestartPartition"/></attribute>
+ <attribute name="InvalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></attribute>
+ <attribute name="BridgeName">RestartJGBridge</attribute>
+
+ </mbean>
+
+</server>
Modified: trunk/testsuite/src/resources/naming/restart/naming-restart-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/naming/restart/naming-restart-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/naming/restart/naming-restart-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -39,7 +39,7 @@
<property name="rmiPort">0</property>
<property name="rmiBindAddress">${jboss.bind.address}</property>
<property name="lookupPool"><inject bean="RestartNamingThreadPool"/></property>
- <property name="namingInfo"><inject bean="RestartNamingBean"/></property>
+ <property name="naming"><inject bean="RestartNamingBean"/></property>
</bean>
<!-- Our own HA-JNDI that we can redeploy. Subclasses std HA-JNDI service
@@ -54,12 +54,10 @@
<!-- Handler for the replicated tree -->
<property name="distributedTreeManager">
<bean class="org.jboss.ha.jndi.impl.jbc.JBossCacheDistributedTreeManager">
- <property name="cacheHandler"><inject bean="HAPartitionCacheHandler"/></property>
+ <property name="clusteredCache"><inject bean="HAPartitionCacheHandler" property="cache"/></property>
</bean>
</property>
- <property name="localNamingInstance"><inject bean="RestartNamingBean" property="namingInstance"/></property>
-
<!-- Bind address of bootstrap endpoint -->
<property name="bindAddress">${jboss.bind.address}</property>
<!-- Port on which the HA-JNDI stub is made available -->
@@ -87,7 +85,7 @@
<!-- Binds an object in the above two naming services for remote lookup
by the test client -->
<bean name="RestartObjectBinder" class="org.jboss.test.naming.restart.ObjectBinder">
- <property name="namingService"><inject bean="RestartNamingBean" property="namingInstance"/></property>
+ <property name="namingService"><inject bean="RestartNamingService"/></property>
</bean>
Modified: trunk/testsuite/src/resources/naming/services/pooled-service.xml
===================================================================
--- trunk/testsuite/src/resources/naming/services/pooled-service.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/naming/services/pooled-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -33,23 +33,21 @@
</mbean>
<!-- A custom deployment of the JBoss JNDI naming service -->
- <mbean code="org.jnp.server.Main"
- name="jboss.test:service=Naming,test=pooled-main"
- xmbean-dd="resource:xmdesc/Main-xmbean.xml">
+ <mbean code="org.jboss.naming.NamingService"
+ name="jboss.test:service=Naming,test=pooled"
+ xmbean-dd="naming-xmbean.xml">
<!-- The bootstrap port used to lookup the Naming proxy -->
<attribute name="Port">10999</attribute>
<!-- Don't override the default naming service -->
<attribute name="InstallGlobalService">false</attribute>
- <attribute name="Naming"><inject bean="LocalNamingBean"/></attribute>
+ <!-- The thread pool service used to control the bootstrap lookups -->
+ <depends optional-attribute-name="LookupPool"
+ proxy-type="attribute">jboss.system:service=ThreadPool</depends>
<!-- The detached pooled invoker proxy -->
- <depends optional-attribute-name="NamingProxy"
- attribute="Proxy">jboss.test:service=proxyFactory,type=pooled,target=Naming</depends>
+ <depends optional-attribute-name="InvokerProxyFactory"
+ proxy-type="attribute">jboss.test:service=proxyFactory,type=pooled,target=Naming</depends>
+ <depends optional-attribute-name="Naming"
+ proxy-type="attribute">jboss:service=NamingBeanImpl</depends>
</mbean>
- <mbean code="org.jboss.naming.NamingService"
- name="jboss.test:service=Naming,test=pooled"
- xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
- <depends optional-attribute-name="NamingMain"
- proxy-type="attribute">jboss.test:service=Naming,test=pooled-main</depends>
- </mbean>
</server>
Modified: trunk/testsuite/src/resources/security/jaspi/jaspi-web-basic.war/WEB-INF/jboss-web.xml
===================================================================
--- trunk/testsuite/src/resources/security/jaspi/jaspi-web-basic.war/WEB-INF/jboss-web.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/security/jaspi/jaspi-web-basic.war/WEB-INF/jboss-web.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,7 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
- "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"
->
<jboss-web>
- <security-domain>java:/jaas/jaspi-test</security-domain>
+<security-domain>java:/jaas/jaspi-test</security-domain>
</jboss-web>
Modified: trunk/testsuite/src/resources/security/jaspi/jaspi-web-form.war/WEB-INF/jboss-web.xml
===================================================================
--- trunk/testsuite/src/resources/security/jaspi/jaspi-web-form.war/WEB-INF/jboss-web.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/security/jaspi/jaspi-web-form.war/WEB-INF/jboss-web.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,7 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
- "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"
->
<jboss-web>
- <security-domain>java:/jaas/jaspi-test</security-domain>
+<security-domain>java:/jaas/jaspi-test</security-domain>
</jboss-web>
Modified: trunk/testsuite/src/resources/test-configs/tomcat-webctx/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/test-configs/tomcat-webctx/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/test-configs/tomcat-webctx/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
-Web application deployers
-$Id:$
+ Web application deployers
+ $Id:$
-->
<deployment xmlns="urn:jboss:bean-deployer:2.0">
@@ -16,7 +16,7 @@
</property>
<property name="contextInfoOrder">1000</property>
</bean>
-
+
<!-- web.xml parsing deployer -->
<bean name="WebAppParsingDeployer" class="org.jboss.deployment.WebAppParsingDeployer">
<property name="relativeOrder">2000</property>
@@ -24,42 +24,32 @@
<bean name="JBossWebAppParsingDeployer" class="org.jboss.deployment.JBossWebAppParsingDeployer">
<property name="relativeOrder">2001</property>
</bean>
-
- <!-- See JBAS-6062 -->
- <bean name="WebXmlLessDeployer" class="org.jboss.deployment.LegacyWebXmlLessDeployer"/>
-
- <!-- Allow for war local class loaders: in testing -->
- <bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">
- <property name="relativeOrder">-1</property>
-
- <property name="includeWebInfInClasspath">true</property>
- <property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>
-
- </bean>
-
+
<!--
- Injects default clustering metadata.
- TODO. A better approach is to use a jboss-web.xml equivalent to conf/web.xml
- and conf/standardjboss.xml as the source for defaults.
+ Injects default clustering metadata.
+
+ FIXME. This is a temporary measure until we set up a jboss-web.xml
+ equivalent to conf/web.xml and conf/standardjboss.xml and use it as the
+ source for all defaults.
-->
<bean name="WebAppClusteringDefaultsDeployer"
- class="org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer">
+ class="org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer">
- <!-- Default session cache config used by distributable webapps -->
- <property name="cacheName">standard-session-cache</property>
- <!-- Default session cache config used by FIELD granularity distributable webapps -->
- <property name="fieldGranularityCacheName">field-granularity-session-cache</property>
+ <property name="relativeOrder">2002</property>
+ <!--<property name="cacheSource">jboss.cache:service=TomcatClusteringCache</property>-->
+
+ <property name="cacheName">jboss.cache:service=TomcatClusteringCache</property>
+
<!--
The following two properties define when sessions are replicated to
the other nodes.
- The default value, "instant", uses the request thread to replicate changes
+ The default value, "instant", synchronously replicates changes
to the other nodes at the end of requests. In this case, the
"SnapshotInterval" property is not used.
- The "interval" mode uses a background thread that periodically checks for
- modified sessions and replicates them. The "SnapshotInterval"
- property controls how often (in milliseconds) the background thread
- should run.
+ The "interval" mode, in association with the "SnapshotInterval"
+ property, indicates that modified sessions will only be replicated
+ every "SnapshotInterval" milliseconds at most.
Note that this property is not in effect if the replication-granularity
is set to FIELD. If it is FIELD, it will be per http request (that is,
@@ -89,86 +79,18 @@
-->
<!--
<property name="useJK">false</property>
+ -->
<property name="useSessionPassivation">false</property>
<property name="passivationMaxIdleTime">-1</property>
<property name="passivationMinIdleTime">-1</property>
- -->
-
- <!--
- Determines the maximum interval between requests, in seconds, after
- which a request will trigger replication of the session's timestamp
- regardless of whether the request has otherwise made the session dirty.
- Such replication ensures that other nodes in the cluster are aware of
- the most recent value for the session's timestamp and won't incorrectly
- expire an unreplicated session upon failover. It also results in correct
- values for HttpSession.getLastAccessedTime() calls following failover.
-
- The cost of timestamp replication is considerably lower in JBoss AS 5
- than it is in earlier versions since replicating a timestamp does not
- necessitate replicating any other data.
-
- A value of 0 means the metadata will be replicated whenever the session is
- accessed. A value of -1 means the metadata will be replicated only if some
- other activity during the request (e.g. modifying an attribute) has
- resulted in other replication work involving the session. A positive value
- greater than the HttpSession.getMaxInactiveInterval() value will be treated
- as a likely misconfiguration and converted to 0; i.e. replicate the
- metadata on every request.
- -->
- <property name="maxUnreplicatedInterval">60</property>
- </bean>
+ </bean>
- <!--
- Adds to distributable webapps a dependency on needed clustering services.
-
- With this deployer in place, webapps marked <distributable/> will not
- deploy completely in the absence of needed clustering support services.
-
- If desired, this deployer can be commented out in a non-clustered AS
- configuration (e.g. 'default') in which case a <distributable/> webapp
- will still deploy after logging a WARN about the missing clustering
- services. The webapp's sessions will not be clustered. This was the
- behavior of distributable webapps in the 'default' config in AS 4.x.
- -->
- <bean name="WebAppClusteringDependencyDeployer"
- class="org.jboss.web.tomcat.service.deployers.ClusteringDependencyDeployer">
-
- <!-- Clustered webapps get their cache from this service -->
- <property name="clusterCacheDependency">jboss.cache:service=CacheManager</property>
-
- </bean>
-
<!-- The WebMetaData to service mbean deployer -->
<bean name="WarDeployer" class="org.jboss.web.tomcat.service.deployers.TomcatDeployer">
- <install bean="ManagedDeploymentCreator" method="addAttachmentType">
- <parameter>
- <value>org.jboss.metadata.web.jboss.JBossWebMetaData</value>
- </parameter>
- <parameter>
- <value>war</value>
- </parameter>
- </install>
- <uninstall bean="ManagedDeploymentCreator" method="removeAttachmentType">
- <parameter>
- <value>org.jboss.metadata.web.jboss.JBossWebMetaData</value>
- </parameter>
- </uninstall>
-
- <!-- Inject the MainDeployer for resolving cross deployment refs -->
- <property name="mainDeployer"><inject bean="MainDeployer" /></property>
-
+ <property name="mainDeployer"><inject bean="MainDeployer" /></property>
<property name="relativeOrder">2003</property>
-
- <!-- FIXME Get this moved to TomcatService in deploy -->
- <property name="configFile">
- <value-factory bean="ServiceBindingManager" method="getResourceBinding">
- <parameter>jboss.web:service=WebServer</parameter>
- <parameter>${jboss.server.home.url}${/}deploy${/}jbossweb.sar${/}server.xml</parameter>
- </value-factory>
- </property>
-
<!-- You can configure a set of authenticators keyed by http-auth method
used. This will apply the same set of authenticators across all web
applications. You can override the set of authenticators at the web
@@ -199,12 +121,12 @@
</entry>
</map>
</property>
-
+
<!-- The JAAS security domain to use in the absense of an explicit
security-domain specification in the war WEB-INF/jboss-web.xml
-->
- <property name="defaultSecurityDomain">java:/jaas/jboss-web-policy</property>
-
+ <property name="defaultSecurityDomain">java:/jaas/other</property>
+
<!-- Get the flag indicating if the normal Java2 parent first class
loading model should be used over the servlet 2.3 web container first
model.
@@ -218,52 +140,55 @@
-->
<property name="useJBossWebLoader">true</property>
<!-- The list of package prefixes that should not be loaded without
- delegating to the parent class loader before trying the web app
- class loader. The packages listed here are those tha are used by
- the web container implementation and cannot be overriden. The format
- is a comma separated list of the package names. There cannot be any
- whitespace between the package prefixes.
- This setting only applies when UseJBossWebLoader=false.
+ delegating to the parent class loader before trying the web app
+ class loader. The packages listed here are those tha are used by
+ the web container implementation and cannot be overriden. The format
+ is a comma separated list of the package names. There cannot be any
+ whitespace between the package prefixes.
+ This setting only applies when UseJBossWebLoader=false.
-->
- <property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>
-
+ <property name="filteredPackages">javax.servlet</property>
+
<property name="lenientEjbLink">true</property>
-
+
<!--Flag to delete the Work Dir on Context Destroy -->
<property name="deleteWorkDirOnContextDestroy">false</property>
-
+
<!--
- Class of the session manager (used if context is marked as 'distributable'. Currently allowed values:
- - org.jboss.web.tomcat.service.session.JBossCacheManager
+ Class of the session manager (used if context is marked as 'distributable'. Currently allowed values:
+ - org.jboss.web.tomcat.service.session.JBossCacheManager
-->
<property name="managerClass">org.jboss.web.tomcat.service.session.JBossCacheManager</property>
-
+
+ <!-- The class used as the deployment wrapper -->
+ <property name="deploymentClass">org.jboss.web.tomcat.service.deployers.TomcatDeployment</property>
+
<!-- The name of the request property under with the authenticated JAAS
- Subject is stored on successful authentication. If null or empty then
- the Subject will not be stored.
+ Subject is stored on successful authentication. If null or empty then
+ the Subject will not be stored.
-->
<!--
<property name="subjectAttributeName">j_subject</property>
-->
-
+
<!-- The SessionIdAlphabet is the set of characters used to create a session Id
It must be made up of exactly 65 unique characters
- <property name="sessionIdAlphabet">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-_</property>
+ <property name="sessionIdAlphabet">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-*</property>
-->
-
+
<property name="domain">jboss.web</property>
- <!-- Specify a Bean for JBoss Security PolicyRegistration -->
- <property name="policyRegistrationName">JBossSecurityPolicyRegistration</property>
-
- <!-- Specify a SecurityManagement Wrapper -->
- <property name="securityManagementName">JNDIBasedSecurityManagement</property>
+ <property name="securityManagerService">
+ <inject bean="jboss.security:service=JaasSecurityManager" />
+ </property>
+
+ <!-- Specify PolicyRegistration-->
+ <property name="policyRegistrationName">JBossSecurityPolicyRegistration</property>
+ <!-- Specify a SecurityManagement Wrapper -->
+ <property name="securityManagementName">JNDIBasedSecurityManagement</property>
- <!-- Specify a SecurityContext FQN class name -->
- <property name="securityContextClassName">org.jboss.security.plugins.JBossSecurityContext</property>
+ <!-- Specify a SecurityContext FQN class name -->
+ <property name="securityContextClassName">org.jboss.security.plugins.JBossSecurityContext</property>
+
</bean>
-
- <bean name="MergedJBossWebMetaDataDeployer"
- class="org.jboss.web.deployers.MergedJBossWebMetaDataDeployer">
- </bean>
-
+
</deployment>
Copied: trunk/testsuite/src/resources/test-configs/web-profile/conf (from rev 79434, trunk/testsuite/src/resources/test-configs/web-profile/conf)
Deleted: trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml
===================================================================
--- trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml 2008-10-14 02:16:28 UTC (rev 79434)
+++ trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id: jboss-service.xml 76997 2008-08-12 22:29:19Z bstansberry at jboss.com $ -->
-
-<!-- ===================================================================== -->
-<!-- JBoss Server Configuration -->
-<!-- ===================================================================== -->
-
-<server>
-
- <!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
- can be restricted to specific jars by specifying them in the archives
- attribute.
- -->
- <classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
-
- <!-- ==================================================================== -->
- <!-- Main Deployer -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.deployment.MainDeployer"
- name="jboss.system:service=MainDeployer">
- <!-- This is used to delegate the deployment handling -->
- <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
- <!-- This is used to validate incomplete deployments -->
- <attribute name="Controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- SAR Deployer -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.deployment.SARDeployer"
- name="jboss.system:service=ServiceDeployer">
- <depends>jboss.system:service=MainDeployer</depends>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- JSR-77 Single JBoss Server Management Domain -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
- name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
- <attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
- <attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
- <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
- <attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
- <attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
- <attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
- <attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
- <attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
- <attribute name="MailService">jboss:service=Mail</attribute>
- <attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
- <attribute name="JNDIService">jboss:service=Naming</attribute>
- <attribute name="JTAService">jboss:service=TransactionManager</attribute>
- <attribute name="UserTransactionService">jboss:service=DistributedTransactionManager</attribute>
- <attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
- <depends>jboss.system:service=MainDeployer</depends>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- XMBean Persistence -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.system.pm.AttributePersistenceService"
- name="jboss:service=AttributePersistenceService"
- xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
- <!-- the AttributePersistenceService is persistent, itself -->
-
- <!--
- <attribute name="AttributePersistenceManagerClass">org.jboss.system.pm.XMLAttributePersistenceManager</attribute>
- <attribute name="AttributePersistenceManagerConfig">
- <data-directory>data/xmbean-attrs</data-directory>
- </attribute>
- <attribute name="ApmDestroyOnServiceStop">false</attribute>
- <attribute name="VersionTag"></attribute>
- -->
- </mbean>
-
- <!-- A Thread pool service -->
- <mbean code="org.jboss.util.threadpool.BasicThreadPool"
- name="jboss.system:service=ThreadPool">
- <attribute name="Name">JBoss System Threads</attribute>
- <attribute name="ThreadGroupName">System Threads</attribute>
- <!-- How long a thread will live without any tasks in MS -->
- <attribute name="KeepAliveTime">60000</attribute>
- <!-- The max number of threads in the pool -->
- <attribute name="MaximumPoolSize">10</attribute>
- <!-- The max number of tasks before the queue is full -->
- <attribute name="MaximumQueueSize">1000</attribute>
- <!-- The behavior of the pool when a task is added and the queue is full.
- abort - a RuntimeException is thrown
- run - the calling thread executes the task
- wait - the calling thread blocks until the queue has room
- discard - the task is silently discarded without being run
- discardOldest - check to see if a task is about to complete and enque
- the new task if possible, else run the task in the calling thread
- -->
- <attribute name="BlockingMode">run</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- Log4j Initialization -->
- <!-- ==================================================================== -->
-
- <mbean code="org.jboss.logging.Log4jService"
- name="jboss.system:type=Log4jService,service=Logging"
- xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
- <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>
- <!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
- this needs to be set to avoid a possible deadlock on exception at the
- appender level. See bug#696819.
- -->
- <attribute name="Log4jQuietMode">true</attribute>
- <!-- How frequently in seconds the ConfigurationURL is checked for changes -->
- <attribute name="RefreshPeriod">60</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- Active Alarm Table -->
- <!-- ==================================================================== -->
-
- <!--
- | The ActiveAlarmTable service is a simple JMX notification listener
- | that maintains a table with the received notifications (alarms).
- | The alarms can be acknowledged through the jmx or the web console.
- | Modify the SubscriptionList below to subscribe for any notification
- | in the system and treat it as an alarm.
- | The JMXNotificationAppender is a log4j Appender that can be configured
- | in log4j.xml, that trasforms logging events to JMX notification so they
- | can be fed back into the table. By storing the WARN or higher level logging
- | events you can have a quick view of important system faults.
- |
- | The following attributes may be set:
- |
- | MaxTableSize (default 1000)
- | - set an upper limit to the number of stored alarms
- | LogLevel (default DEBUG)
- | - the log level to use for received notification, can be set to NONE
- | ServerId (default jboss)
- | - used to construct unique alarm ids
- | SubscriptionList
- | - subscribe for the notifications to be stored in the table
-
- <mbean code="org.jboss.monitor.services.ActiveAlarmTable"
- name="jboss.monitor:service=ActiveAlarmTable">
- <attribute name="SubscriptionList">
- <subscription-list>
- <mbean name="jboss.monitor:*">
- <notification type="jboss.alarm"/>
- <notification type="JBOSS_MONITOR_NOTIFICATION"/>
- </mbean>
- <mbean name="jboss.system:service=Logging,type=JMXNotificationAppender"/>
- </subscription-list>
- </attribute>
- </mbean>
- -->
-
- <!-- ==================================================================== -->
- <!-- JBoss RMI Classloader - only install when available -->
- <!-- ==================================================================== -->
- <mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"
- name="jboss.rmi:type=RMIClassLoader">
- <attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>
- <attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- JNDI -->
- <!-- ==================================================================== -->
-
- <!-- A simple mbean wrapper around the jndi Naming object. This
- only handles an in memory instance. The NamingService uses this
- as the JNDI store and exposes it remotely.
- -->
- <mbean code="org.jnp.server.NamingBeanImpl"
- name="jboss:service=NamingBeanImpl"
- xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml">
- </mbean>
-
- <mbean code="org.jboss.naming.NamingService"
- name="jboss:service=Naming"
- xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
- <!-- The call by value mode. true if all lookups are unmarshalled using
- the caller's TCL, false if in VM lookups return the value by reference.
- -->
- <attribute name="CallByValue">false</attribute>
-
- <!-- The listening port for the bootstrap JNP service. Set this to -1
- to run the NamingService without the JNP invoker listening port.
- -->
- <attribute name="Port">-1</attribute>
-
- <!-- The bootstrap JNP server bind address. This also sets the default
- RMI service bind address. Empty == all addresses
- -->
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
- <!-- The port of the RMI naming service, 0 == anonymous -->
- <attribute name="RmiPort">
- <value-factory bean="ServiceBindingManager" method="getIntBinding">
- <parameter>jboss:service=Naming</parameter>
- <parameter>RmiPort</parameter>
- </value-factory>
- </attribute>
- <!-- The RMI service bind address. Empty == all addresses
- -->
- <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
- <!-- The thread pool service used to control the bootstrap lookups -->
- <depends optional-attribute-name="LookupPool"
- proxy-type="attribute">jboss.system:service=ThreadPool</depends>
- <!-- An example of using the unifed invoker as the transport.
- <depends optional-attribute-name="InvokerProxyFactory"
- proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>
- -->
- <depends optional-attribute-name="Naming"
- proxy-type="attribute">jboss:service=NamingBeanImpl</depends>
- </mbean>
-
- <mbean code="org.jboss.naming.JNDIView"
- name="jboss:service=JNDIView"
- xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
- <!-- The HANamingService service name -->
- <attribute name="HANamingService">jboss:service=HAJNDI</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- Security -->
- <!-- ==================================================================== -->
-
- <!-- JAAS security manager and realm mapping -->
- <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
- name="jboss.security:service=JaasSecurityManager">
- <!-- A flag which indicates whether the SecurityAssociation server mode
- is set on service creation. This is true by default since the
- SecurityAssociation should be thread local for multi-threaded server
- operation.
- -->
- <attribute name="ServerMode">true</attribute>
- <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
- <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute>
- <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
- in seconds.
- If you want to disable caching of security credentials, set this to 0 to
- force authentication to occur every time. This has no affect if the
- AuthenticationCacheJndiName has been changed from the default value.
- -->
- <attribute name="DefaultCacheTimeout">1800</attribute>
- <!-- DefaultCacheResolution: Specifies the default timed cache policy
- resolution in seconds. This controls the interval at which the cache
- current timestamp is updated and should be less than the DefaultCacheTimeout
- in order for the timeout to be meaningful. This has no affect if the
- AuthenticationCacheJndiName has been changed from the default value.
- -->
- <attribute name="DefaultCacheResolution">60</attribute>
- <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
- security managers to be deep copies that makes copies of the subject
- principals and credentials if they are cloneable. It should be set to
- true if subject include mutable content that can be corrupted when
- multiple threads have the same identity and cache flushes/logout clearing
- the subject in one thread results in subject references affecting other
- threads.
- -->
- <attribute name="DeepCopySubjectMode">false</attribute>
- </mbean>
-
- <!-- ==================================================================== -->
- <!-- An MBean that is a registry for JDBC type-mapping metadata -->
- <!-- ==================================================================== -->
-
- <mbean code="org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary"
- name="jboss.jdbc:service=metadata"/>
-
-</server>
Copied: trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml (from rev 79434, trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml)
===================================================================
--- trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml (rev 0)
+++ trunk/testsuite/src/resources/test-configs/web-profile/conf/jboss-service.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: jboss-service.xml 76997 2008-08-12 22:29:19Z bstansberry at jboss.com $ -->
+
+<!-- ===================================================================== -->
+<!-- JBoss Server Configuration -->
+<!-- ===================================================================== -->
+
+<server>
+
+ <!-- Load all jars from the JBOSS_DIST/server/<config>/lib directory. This
+ can be restricted to specific jars by specifying them in the archives
+ attribute.
+ -->
+ <classpath codebase="${jboss.server.lib.url:lib}" archives="*"/>
+
+ <!-- ==================================================================== -->
+ <!-- Main Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.MainDeployer"
+ name="jboss.system:service=MainDeployer">
+ <!-- This is used to delegate the deployment handling -->
+ <attribute name="KernelMainDeployer"><inject bean="MainDeployer" /></attribute>
+ <!-- This is used to validate incomplete deployments -->
+ <attribute name="Controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- SAR Deployer -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.deployment.SARDeployer"
+ name="jboss.system:service=ServiceDeployer">
+ <depends>jboss.system:service=MainDeployer</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- JSR-77 Single JBoss Server Management Domain -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
+ name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
+ <attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
+ <attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
+ <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
+ <attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
+ <attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
+ <attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
+ <attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
+ <attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
+ <attribute name="MailService">jboss:service=Mail</attribute>
+ <attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
+ <attribute name="JNDIService">jboss:service=Naming</attribute>
+ <attribute name="JTAService">jboss:service=TransactionManager</attribute>
+ <attribute name="UserTransactionService">jboss:service=DistributedTransactionManager</attribute>
+ <attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
+ <depends>jboss.system:service=MainDeployer</depends>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- XMBean Persistence -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.system.pm.AttributePersistenceService"
+ name="jboss:service=AttributePersistenceService"
+ xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">
+ <!-- the AttributePersistenceService is persistent, itself -->
+
+ <!--
+ <attribute name="AttributePersistenceManagerClass">org.jboss.system.pm.XMLAttributePersistenceManager</attribute>
+ <attribute name="AttributePersistenceManagerConfig">
+ <data-directory>data/xmbean-attrs</data-directory>
+ </attribute>
+ <attribute name="ApmDestroyOnServiceStop">false</attribute>
+ <attribute name="VersionTag"></attribute>
+ -->
+ </mbean>
+
+ <!-- A Thread pool service -->
+ <mbean code="org.jboss.util.threadpool.BasicThreadPool"
+ name="jboss.system:service=ThreadPool">
+ <attribute name="Name">JBoss System Threads</attribute>
+ <attribute name="ThreadGroupName">System Threads</attribute>
+ <!-- How long a thread will live without any tasks in MS -->
+ <attribute name="KeepAliveTime">60000</attribute>
+ <!-- The max number of threads in the pool -->
+ <attribute name="MaximumPoolSize">10</attribute>
+ <!-- The max number of tasks before the queue is full -->
+ <attribute name="MaximumQueueSize">1000</attribute>
+ <!-- The behavior of the pool when a task is added and the queue is full.
+ abort - a RuntimeException is thrown
+ run - the calling thread executes the task
+ wait - the calling thread blocks until the queue has room
+ discard - the task is silently discarded without being run
+ discardOldest - check to see if a task is about to complete and enque
+ the new task if possible, else run the task in the calling thread
+ -->
+ <attribute name="BlockingMode">run</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Log4j Initialization -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.logging.Log4jService"
+ name="jboss.system:type=Log4jService,service=Logging"
+ xmbean-dd="resource:xmdesc/Log4jService-xmbean.xml">
+ <attribute name="ConfigurationURL">resource:jboss-log4j.xml</attribute>
+ <!-- Set the org.apache.log4j.helpers.LogLog.setQuiteMode. As of log4j1.2.8
+ this needs to be set to avoid a possible deadlock on exception at the
+ appender level. See bug#696819.
+ -->
+ <attribute name="Log4jQuietMode">true</attribute>
+ <!-- How frequently in seconds the ConfigurationURL is checked for changes -->
+ <attribute name="RefreshPeriod">60</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Active Alarm Table -->
+ <!-- ==================================================================== -->
+
+ <!--
+ | The ActiveAlarmTable service is a simple JMX notification listener
+ | that maintains a table with the received notifications (alarms).
+ | The alarms can be acknowledged through the jmx or the web console.
+ | Modify the SubscriptionList below to subscribe for any notification
+ | in the system and treat it as an alarm.
+ | The JMXNotificationAppender is a log4j Appender that can be configured
+ | in log4j.xml, that trasforms logging events to JMX notification so they
+ | can be fed back into the table. By storing the WARN or higher level logging
+ | events you can have a quick view of important system faults.
+ |
+ | The following attributes may be set:
+ |
+ | MaxTableSize (default 1000)
+ | - set an upper limit to the number of stored alarms
+ | LogLevel (default DEBUG)
+ | - the log level to use for received notification, can be set to NONE
+ | ServerId (default jboss)
+ | - used to construct unique alarm ids
+ | SubscriptionList
+ | - subscribe for the notifications to be stored in the table
+
+ <mbean code="org.jboss.monitor.services.ActiveAlarmTable"
+ name="jboss.monitor:service=ActiveAlarmTable">
+ <attribute name="SubscriptionList">
+ <subscription-list>
+ <mbean name="jboss.monitor:*">
+ <notification type="jboss.alarm"/>
+ <notification type="JBOSS_MONITOR_NOTIFICATION"/>
+ </mbean>
+ <mbean name="jboss.system:service=Logging,type=JMXNotificationAppender"/>
+ </subscription-list>
+ </attribute>
+ </mbean>
+ -->
+
+ <!-- ==================================================================== -->
+ <!-- JBoss RMI Classloader - only install when available -->
+ <!-- ==================================================================== -->
+ <mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"
+ name="jboss.rmi:type=RMIClassLoader">
+ <attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>
+ <attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- JNDI -->
+ <!-- ==================================================================== -->
+
+ <!-- A simple mbean wrapper around the jndi Naming object. This
+ only handles an in memory instance. The NamingService uses this
+ as the JNDI store and exposes it remotely.
+ -->
+ <mbean code="org.jnp.server.NamingBeanImpl"
+ name="jboss:service=NamingBeanImpl"
+ xmbean-dd="resource:xmdesc/NamingBean-xmbean.xml">
+ </mbean>
+
+ <mbean code="org.jboss.naming.NamingService"
+ name="jboss:service=Naming"
+ xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
+ <!-- The call by value mode. true if all lookups are unmarshalled using
+ the caller's TCL, false if in VM lookups return the value by reference.
+ -->
+ <attribute name="CallByValue">false</attribute>
+
+ <!-- The listening port for the bootstrap JNP service. Set this to -1
+ to run the NamingService without the JNP invoker listening port.
+ -->
+ <attribute name="Port">-1</attribute>
+
+ <!-- The bootstrap JNP server bind address. This also sets the default
+ RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <!-- The port of the RMI naming service, 0 == anonymous -->
+ <attribute name="RmiPort">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding">
+ <parameter>jboss:service=Naming</parameter>
+ <parameter>RmiPort</parameter>
+ </value-factory>
+ </attribute>
+ <!-- The RMI service bind address. Empty == all addresses
+ -->
+ <attribute name="RmiBindAddress">${jboss.bind.address}</attribute>
+ <!-- The thread pool service used to control the bootstrap lookups -->
+ <depends optional-attribute-name="LookupPool"
+ proxy-type="attribute">jboss.system:service=ThreadPool</depends>
+ <!-- An example of using the unifed invoker as the transport.
+ <depends optional-attribute-name="InvokerProxyFactory"
+ proxy-type="attribute">jboss:service=proxyFactory,type=unified,target=Naming</depends>
+ -->
+ <depends optional-attribute-name="Naming"
+ proxy-type="attribute">jboss:service=NamingBeanImpl</depends>
+ </mbean>
+
+ <mbean code="org.jboss.naming.JNDIView"
+ name="jboss:service=JNDIView"
+ xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml">
+ <!-- The HANamingService service name -->
+ <attribute name="HANamingService">jboss:service=HAJNDI</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- Security -->
+ <!-- ==================================================================== -->
+
+ <!-- JAAS security manager and realm mapping -->
+ <mbean code="org.jboss.security.plugins.JaasSecurityManagerService"
+ name="jboss.security:service=JaasSecurityManager">
+ <!-- A flag which indicates whether the SecurityAssociation server mode
+ is set on service creation. This is true by default since the
+ SecurityAssociation should be thread local for multi-threaded server
+ operation.
+ -->
+ <attribute name="ServerMode">true</attribute>
+ <attribute name="SecurityManagerClassName">org.jboss.security.plugins.JaasSecurityManager</attribute>
+ <attribute name="DefaultUnauthenticatedPrincipal">anonymous</attribute>
+ <!-- DefaultCacheTimeout: Specifies the default timed cache policy timeout
+ in seconds.
+ If you want to disable caching of security credentials, set this to 0 to
+ force authentication to occur every time. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheTimeout">1800</attribute>
+ <!-- DefaultCacheResolution: Specifies the default timed cache policy
+ resolution in seconds. This controls the interval at which the cache
+ current timestamp is updated and should be less than the DefaultCacheTimeout
+ in order for the timeout to be meaningful. This has no affect if the
+ AuthenticationCacheJndiName has been changed from the default value.
+ -->
+ <attribute name="DefaultCacheResolution">60</attribute>
+ <!-- DeepCopySubjectMode: This set the copy mode of subjects done by the
+ security managers to be deep copies that makes copies of the subject
+ principals and credentials if they are cloneable. It should be set to
+ true if subject include mutable content that can be corrupted when
+ multiple threads have the same identity and cache flushes/logout clearing
+ the subject in one thread results in subject references affecting other
+ threads.
+ -->
+ <attribute name="DeepCopySubjectMode">false</attribute>
+ </mbean>
+
+ <!-- ==================================================================== -->
+ <!-- An MBean that is a registry for JDBC type-mapping metadata -->
+ <!-- ==================================================================== -->
+
+ <mbean code="org.jboss.ejb.plugins.cmp.jdbc.metadata.MetaDataLibrary"
+ name="jboss.jdbc:service=metadata"/>
+
+</server>
Modified: trunk/testsuite/src/resources/web/federation/authext/war-deployers-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/web/federation/authext/war-deployers-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/testsuite/src/resources/web/federation/authext/war-deployers-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -5,18 +5,18 @@
$Id:$
-->
<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- WAR Structure -->
+ <bean name="WARStructure" class="org.jboss.web.deployers.WARStructure">
+ <property name="webInfLibFilter">
+ <!-- We accept all .jar files in WEB-INF/lib -->
+ <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
+ <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
+ </bean>
+ </property>
+ <property name="contextInfoOrder">1000</property>
+ </bean>
- <!-- WAR Structure -->
- <bean name="WARStructure" class="org.jboss.web.deployers.WARStructure">
- <property name="webInfLibFilter">
- <!-- We accept all .jar files in WEB-INF/lib -->
- <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
- <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
- </bean>
- </property>
- <property name="contextInfoOrder">1000</property>
- </bean>
-
<!-- web.xml parsing deployer -->
<bean name="WebAppParsingDeployer" class="org.jboss.deployment.WebAppParsingDeployer">
<property name="relativeOrder">2000</property>
@@ -24,10 +24,7 @@
<bean name="JBossWebAppParsingDeployer" class="org.jboss.deployment.JBossWebAppParsingDeployer">
<property name="relativeOrder">2001</property>
</bean>
-
- <!-- See JBAS-6062 -->
- <bean name="WebXmlLessDeployer" class="org.jboss.deployment.LegacyWebXmlLessDeployer"/>
-
+
<!-- Allow for war local class loaders: in testing -->
<bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">
<property name="relativeOrder">-1</property>
@@ -36,20 +33,21 @@
<property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>
</bean>
-
+
<!--
Injects default clustering metadata.
TODO. A better approach is to use a jboss-web.xml equivalent to conf/web.xml
and conf/standardjboss.xml as the source for defaults.
-->
<bean name="WebAppClusteringDefaultsDeployer"
- class="org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer">
+ class="org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer">
- <!-- Default session cache config used by distributable webapps -->
- <property name="cacheName">standard-session-cache</property>
- <!-- Default session cache config used by FIELD granularity distributable webapps -->
- <property name="fieldGranularityCacheName">field-granularity-session-cache</property>
+ <property name="relativeOrder">2002</property>
+ <!--<property name="cacheSource">jboss.cache:service=TomcatClusteringCache</property>-->
+
+ <property name="cacheName">jboss.cache:service=TomcatClusteringCache</property>
+
<!--
The following two properties define when sessions are replicated to
the other nodes.
@@ -89,39 +87,16 @@
-->
<!--
<property name="useJK">false</property>
+ -->
<property name="useSessionPassivation">false</property>
<property name="passivationMaxIdleTime">-1</property>
<property name="passivationMinIdleTime">-1</property>
- -->
-
- <!--
- Determines the maximum interval between requests, in seconds, after
- which a request will trigger replication of the session's timestamp
- regardless of whether the request has otherwise made the session dirty.
- Such replication ensures that other nodes in the cluster are aware of
- the most recent value for the session's timestamp and won't incorrectly
- expire an unreplicated session upon failover. It also results in correct
- values for HttpSession.getLastAccessedTime() calls following failover.
-
- The cost of timestamp replication is considerably lower in JBoss AS 5
- than it is in earlier versions since replicating a timestamp does not
- necessitate replicating any other data.
-
- A value of 0 means the metadata will be replicated whenever the session is
- accessed. A value of -1 means the metadata will be replicated only if some
- other activity during the request (e.g. modifying an attribute) has
- resulted in other replication work involving the session. A positive value
- greater than the HttpSession.getMaxInactiveInterval() value will be treated
- as a likely misconfiguration and converted to 0; i.e. replicate the
- metadata on every request.
- -->
- <property name="maxUnreplicatedInterval">60</property>
</bean>
<!--
- Adds to distributable webapps a dependency on needed clustering services.
+ Adds to distributable webapps dependencies on any needed clustering services.
With this deployer in place, webapps marked <distributable/> will not
deploy completely in the absence of needed clustering support services.
@@ -133,47 +108,16 @@
behavior of distributable webapps in the 'default' config in AS 4.x.
-->
<bean name="WebAppClusteringDependencyDeployer"
- class="org.jboss.web.tomcat.service.deployers.ClusteringDependencyDeployer">
-
- <!-- Clustered webapps get their cache from this service -->
- <property name="clusterCacheDependency">jboss.cache:service=CacheManager</property>
-
- </bean>
-
- <!-- The WebMetaData to service mbean deployer -->
+ class="org.jboss.web.tomcat.service.deployers.ClusteringDependencyDeployer"/>
+
<bean name="WarDeployer" class="org.jboss.web.tomcat.service.deployers.TomcatDeployer">
- <install bean="ManagedDeploymentCreator" method="addAttachmentType">
- <parameter>
- <value>org.jboss.metadata.web.jboss.JBossWebMetaData</value>
- </parameter>
- <parameter>
- <value>war</value>
- </parameter>
- </install>
- <uninstall bean="ManagedDeploymentCreator" method="removeAttachmentType">
- <parameter>
- <value>org.jboss.metadata.web.jboss.JBossWebMetaData</value>
- </parameter>
- </uninstall>
-
<!-- Inject the MainDeployer for resolving cross deployment refs -->
<property name="mainDeployer"><inject bean="MainDeployer" /></property>
-
- <property name="relativeOrder">2003</property>
-
- <!-- FIXME Get this moved to TomcatService in deploy -->
- <property name="configFile">
- <value-factory bean="ServiceBindingManager" method="getResourceBinding">
- <parameter>jboss.web:service=WebServer</parameter>
- <parameter>${jboss.server.home.url}${/}deploy${/}jbossweb.sar${/}server.xml</parameter>
- </value-factory>
- </property>
-
<!-- You can configure a set of authenticators keyed by http-auth method
- used. This will apply the same set of authenticators across all web
- applications. You can override the set of authenticators at the web
- application level by adding <authenticators> element to the respective
- jboss-web.xml
+ used. This will apply the same set of authenticators across all web
+ applications. You can override the set of authenticators at the web
+ application level by adding <authenticators> element to the respective
+ jboss-web.xml
-->
<property name="authenticators">
<map class="java.util.Properties" keyClass="java.lang.String" valueClass="java.lang.String">
@@ -191,19 +135,23 @@
</entry>
<entry>
<key>FORM</key>
- <value>org.apache.catalina.authenticator.FormAuthenticator</value>
+ <value>org.jboss.web.tomcat.security.GenericHeaderAuthenticator</value>
</entry>
<entry>
<key>NONE</key>
<value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
</entry>
+ <entry>
+ <key>HEADER</key>
+ <value>org.jboss.test.web.security.authenticators.HeaderAuthenticator</value>
+ </entry>
</map>
</property>
<!-- The JAAS security domain to use in the absense of an explicit
security-domain specification in the war WEB-INF/jboss-web.xml
-->
- <property name="defaultSecurityDomain">java:/jaas/jboss-web-policy</property>
+ <property name="defaultSecurityDomain">java:/jaas/other</property>
<!-- Get the flag indicating if the normal Java2 parent first class
loading model should be used over the servlet 2.3 web container first
@@ -250,20 +198,27 @@
It must be made up of exactly 65 unique characters
<property name="sessionIdAlphabet">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-_</property>
-->
-
+
<property name="domain">jboss.web</property>
- <!-- Specify a Bean for JBoss Security PolicyRegistration -->
- <property name="policyRegistrationName">JBossSecurityPolicyRegistration</property>
-
+ <property name="securityManagerService">
+ <inject bean="jboss.security:service=JaasSecurityManager" />
+ </property>
+
+ <!-- Specify PolicyRegistration-->
+ <property name="policyRegistrationName">JBossSecurityPolicyRegistration</property>
<!-- Specify a SecurityManagement Wrapper -->
<property name="securityManagementName">JNDIBasedSecurityManagement</property>
<!-- Specify a SecurityContext FQN class name -->
<property name="securityContextClassName">org.jboss.security.plugins.JBossSecurityContext</property>
+
+ <property name="httpHeaderForSSOAuth">sm_ssoid,ct-remote-user,HTTP_OBLIX_UID</property>
+ <property name="sessionCookieForSSOAuth">SMSESSION,CTSESSION,ObSSOCookie</property>
</bean>
<bean name="MergedJBossWebMetaDataDeployer"
class="org.jboss.web.deployers.MergedJBossWebMetaDataDeployer">
</bean>
+
</deployment>
Modified: trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossDelegatingInjectionProvider.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossDelegatingInjectionProvider.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossDelegatingInjectionProvider.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -33,7 +33,6 @@
/**
* A JSF injection provider. This class delegates the injection to the <code>TomcatInjectionContainer</code>.
- * The processing of this injectionProvider is based on the <code>JBossWebMetaData</code>
*
* @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
* @version $Revision$
@@ -41,7 +40,7 @@
public class JBossDelegatingInjectionProvider implements InjectionProvider
{
/** The injection container. */
- protected TomcatInjectionContainer injectionContainer = null;
+ private TomcatInjectionContainer injectionContainer = null;
/** The logger. */
private static final Logger log = Logger.getLogger(InjectionProvider.class);
@@ -53,22 +52,12 @@
if(context instanceof ServletContext && context != null)
{
ServletContext servletContext = (ServletContext) (context);
- this.injectionContainer = (TomcatInjectionContainer) servletContext
- .getAttribute(InstanceManager.class.getName());
-
+ this.injectionContainer = (TomcatInjectionContainer) servletContext.getAttribute(InstanceManager.class.getName());
}
if(injectionContainer == null)
log.debug("JSF injection not available for this web deployment.");
}
- protected JBossDelegatingInjectionProvider(TomcatInjectionContainer injectionContainer)
- {
- this.injectionContainer = injectionContainer;
-
- if(injectionContainer == null)
- log.debug("JSF injection not available for this web deployment.");
- }
-
public void inject(Object object) throws InjectionProviderException
{
if(! checkInjectionContainer()) return;
Deleted: trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossScanningInjectionProvider.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossScanningInjectionProvider.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/jsf/integration/injection/JBossScanningInjectionProvider.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -1,183 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.web.jsf.integration.injection;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.faces.context.FacesContext;
-import javax.servlet.ServletContext;
-
-import org.apache.InstanceManager;
-import org.jboss.logging.Logger;
-import org.jboss.web.tomcat.service.TomcatInjectionContainer;
-
-import com.sun.faces.spi.InjectionProvider;
-import com.sun.faces.spi.InjectionProviderException;
-
-/**
- * A JSF injection provider.
- * The dynamic processing of annotations and injections is handled by the
- * <code>TomcatInjectionContainer</code>.
- *
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public class JBossScanningInjectionProvider implements InjectionProvider
-{
-
- /** The injection container. */
- protected TomcatInjectionContainer injectionContainer = null;
-
- /** The logger. */
- private static final Logger log = Logger.getLogger(InjectionProvider.class);
-
- public JBossScanningInjectionProvider()
- {
- Object context = FacesContext.getCurrentInstance().getExternalContext().getContext();
- // In case of a servletContext - could maybe also be a PortletContext !?
- if (context != null && context instanceof ServletContext)
- {
- ServletContext servletContext = (ServletContext) (context);
- this.injectionContainer = (TomcatInjectionContainer) servletContext
- .getAttribute(InstanceManager.class.getName());
- }
- if (injectionContainer == null)
- log.debug("JSF injection not available for this web deployment.");
- }
-
- protected JBossScanningInjectionProvider(TomcatInjectionContainer injectionContainer)
- {
- this.injectionContainer = injectionContainer;
-
- if(injectionContainer == null)
- log.debug("JSF injection not available for this web deployment.");
- }
-
- /**
- * Invoke a postConstruct method annotated with @PostConstruct
- *
- * @param managedBean the managed bean
- * @throws InjectionProviderException
- */
- public void invokePostConstruct(Object managedBean) throws InjectionProviderException
- {
- try
- {
- Method postConstruct = getLifeCycleMethod(managedBean, PostConstruct.class);
-
- if (postConstruct != null)
- {
- boolean accessibility = postConstruct.isAccessible();
- postConstruct.setAccessible(true);
- postConstruct.invoke(managedBean);
- postConstruct.setAccessible(accessibility);
- }
- }
- catch (Exception e)
- {
- throw new InjectionProviderException("PostConstruct failed on managed bean.", e);
- }
- }
-
- /**
- * Invoke a preDestroy method annotated with @PreDestroy
- *
- * @param managedBean the managed bean
- * @throws InjectionProviderException
- */
- public void invokePreDestroy(Object managedBean) throws InjectionProviderException
- {
- try
- {
- Method preDestroy = getLifeCycleMethod(managedBean, PreDestroy.class);
-
- if (preDestroy != null)
- {
- boolean accessibility = preDestroy.isAccessible();
- preDestroy.setAccessible(true);
- preDestroy.invoke(managedBean);
- preDestroy.setAccessible(accessibility);
- }
- }
- catch (Exception e)
- {
- throw new InjectionProviderException("PreDestroy failed on managed bean.", e);
- }
- }
-
- /**
- * Process annotations and injection for a managedBean.
- * This delegates the processing of annotations and injection
- * to the <code>TomcatInjectionContainer</code>.
- *
- * @param managedBean the managed bean
- * @throws InjectionProviderException
- */
- public void inject(Object managedBean) throws InjectionProviderException
- {
- if(! checkInjectionContainer()) return;
- try
- {
- // Process annotations
- injectionContainer.processAnnotations(managedBean);
-
- // Process injectors
- injectionContainer.processInjectors(managedBean);
-
- }
- catch(Exception e)
- {
- throw new InjectionProviderException("Injection failed on managed bean.", e);
- }
- }
-
- private Method getLifeCycleMethod(Object managedBean, Class<? extends Annotation> annotation)
- {
- Method[] methods = managedBean.getClass().getDeclaredMethods();
- Method lifeCycleMethod = null;
- for (int i = 0; i < methods.length; i++)
- {
- if (methods[i].isAnnotationPresent(annotation))
- {
- if ((lifeCycleMethod != null) || (methods[i].getParameterTypes().length != 0)
- || (Modifier.isStatic(methods[i].getModifiers())) || (methods[i].getExceptionTypes().length > 0)
- || (!methods[i].getReturnType().getName().equals("void")))
- {
- throw new IllegalArgumentException("Invalid PostConstruct method.");
- }
- lifeCycleMethod = methods[i];
- }
- }
-
- return lifeCycleMethod;
- }
-
- private boolean checkInjectionContainer()
- {
- return injectionContainer != null;
- }
-
-}
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ContextXMLObjectModelFactory.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ContextXMLObjectModelFactory.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ContextXMLObjectModelFactory.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -42,17 +42,6 @@
public Object newRoot(Object root, UnmarshallingContext ctx, String namespaceURI, String localName, Attributes attrs)
{
ContextMetaData metaData = new ContextMetaData();
- if(attrs != null)
- {
- for(int i = 0; i <attrs.getLength(); i++)
- {
- String key = attrs.getLocalName(i);
- String value = attrs.getValue(i);
- if( metaData.getAttributes() == null)
- metaData.setAttributes(new HashMap<String, Object>());
- metaData.getAttributes().put(key, value);
- }
- }
return metaData;
}
@@ -115,6 +104,8 @@
Set<String> excludeAttributes = new HashSet<String>();
Object child = null;
+ // TODO child.setName(attrs.getValue("name"));
+
if(parent instanceof ContextMetaData)
{
// <Valve/>
@@ -126,19 +117,11 @@
// <Parameter/>
else if("Parameter".equals(localName))
child = new ParameterMetaData();
- // <Realm/>
- else if("Realm".equals(localName))
- child = new RealmMetaData();
// <SessionCookie/>
else if("SessionCookie".equals(localName))
{
- SessionCookieMetaData sessionCookie = new SessionCookieMetaData();
- sessionCookie.setComment(getAttribute("comment", null, attrs));
- sessionCookie.setDomain(getAttribute("domain", null, attrs));
- sessionCookie.setPath(getAttribute("path", null, attrs));
- sessionCookie.setHttpOnly(Boolean.parseBoolean(getAttribute("httpOnly", null, attrs)));
- sessionCookie.setSecure(Boolean.parseBoolean(getAttribute("secure", null, attrs)));
- child = sessionCookie;
+ child = new SessionCookieMetaData();
+ // FIXME: attributes
}
// <Resources/>
else if("Resources".equals(localName))
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ServerXMLObjectModelFactory.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ServerXMLObjectModelFactory.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/metadata/ServerXMLObjectModelFactory.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -167,12 +167,7 @@
{
// <Connector/>
if("Connector".equals(localName))
- {
- ConnectorMetaData connector = new ConnectorMetaData();
- connector.setProtocol(getAttribute("protocol", excludeAttributes, attrs));
- connector.setExecutor(getAttribute("executor", excludeAttributes, attrs));
- child = connector;
- }
+ child = new ConnectorMetaData();
// <Engine/>
else if("Engine".equals(localName))
{
@@ -195,7 +190,7 @@
if(parent instanceof EngineMetaData)
{
- // <Valve/>
+ // <Valve/>
if("Valve".equals(localName))
child = new ValveMetaData();
// <Host/>
@@ -211,9 +206,6 @@
// <Listener/>
else if("Listener".equals(localName))
child = new ListenerMetaData();
- // <Realm/>
- else if("Realm".equals(localName))
- child = new RealmMetaData();
}
if(parent instanceof HostMetaData)
@@ -224,9 +216,6 @@
// <Listener/>
else if("Listener".equals(localName))
child = new ListenerMetaData();
- // <Realm/>
- else if("Realm".equals(localName))
- child = new RealmMetaData();
}
// Handle attributes for AnyXmlMetaData
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/StatusServlet.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/StatusServlet.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/StatusServlet.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -246,10 +246,10 @@
// Display virtual machine statistics
StatusTransformer.writeVMState(writer, mode);
- Enumeration i = threadPools.elements();
- while (i.hasMoreElements())
+ Enumeration enumeration = threadPools.elements();
+ while (enumeration.hasMoreElements())
{
- ObjectName objectName = (ObjectName) i.nextElement();
+ ObjectName objectName = (ObjectName) enumeration.nextElement();
String name = objectName.getKeyProperty("name");
// use StatusTransformer to output status
StatusTransformer.writeConnectorState
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -244,7 +244,7 @@
processInjectors(instance);
if (!catalinaContext.getIgnoreAnnotations())
{
- processDynamicBeanAnnotations(instance);
+ processAnnotations(instance);
postConstruct(instance);
}
return instance;
@@ -258,7 +258,7 @@
processInjectors(instance);
if (!catalinaContext.getIgnoreAnnotations())
{
- processDynamicBeanAnnotations(instance);
+ processAnnotations(instance);
postConstruct(instance);
}
return instance;
@@ -269,7 +269,7 @@
processInjectors(instance);
if (!catalinaContext.getIgnoreAnnotations())
{
- processDynamicBeanAnnotations(instance);
+ processAnnotations(instance);
postConstruct(instance);
}
}
@@ -363,22 +363,6 @@
}
/**
- * Process annotations for dynamic beans only.
- *
- * @param object the object
- * @throws IllegalAccessException
- * @throws InvocationTargetException
- * @throws NamingException
- */
- protected void processDynamicBeanAnnotations(Object object)
- throws IllegalAccessException, InvocationTargetException, NamingException
- {
- // Only process annotation on dynamic beans
- if(isDynamicBean(object))
- processAnnotations(object);
- }
-
- /**
* When we get here, we are assuming that any XML defined injection has been already done.
* We will set up more here if the class being processed is a dynamic class.
*
@@ -391,6 +375,9 @@
throws IllegalAccessException, InvocationTargetException, NamingException
{
final boolean trace = log.isTraceEnabled();
+ // Only process annotation on dynamic beans
+ if(! isDynamicBean(object))
+ return;
Map<AccessibleObject, Injector> injectors = getEncInjectionsForClass(object.getClass(), true);
if (injectors == null)
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -21,25 +21,19 @@
*/
package org.jboss.web.tomcat.service.deployers;
-import java.io.IOException;
-import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletContext;
import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.deploy.SessionCookie;
import org.apache.catalina.startup.ContextConfig;
-import org.apache.tomcat.util.IntrospectionUtils;
import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
import org.jboss.logging.Logger;
@@ -73,13 +67,6 @@
import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
import org.jboss.metadata.web.spec.WelcomeFileListMetaData;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.web.tomcat.metadata.ContextMetaData;
-import org.jboss.web.tomcat.metadata.ContextXMLObjectModelFactory;
-import org.jboss.web.tomcat.metadata.ParameterMetaData;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
@SuppressWarnings("unchecked")
public class JBossContextConfig extends ContextConfig
@@ -518,150 +505,6 @@
}
- /**
- * Process a "init" event for this Context.
- */
- protected void init() {
-
- if (TomcatService.OLD_CODE) {
- super.init();
- return;
- }
-
- context.setConfigured(false);
- ok = true;
-
- if (!context.getOverride()) {
- processContextConfig("context.xml", false);
- processContextConfig(getHostConfigPath(org.apache.catalina.startup.Constants.HostContextXml), false);
- }
- // This should come from the deployment unit
- processContextConfig(context.getConfigFile(), true);
-
- }
-
-
- protected void processContextConfig(String resourceName, boolean local)
- {
- ContextMetaData contextMetaData = null;
- try {
- ObjectModelFactory factory = new ContextXMLObjectModelFactory();
- Unmarshaller u = UnmarshallerFactory.newInstance().newUnmarshaller();
- u.setSchemaValidation(false);
- u.setValidation(false);
- InputStream is = null;
- try {
- if (local)
- {
- VirtualFile vf = ((VFSDeploymentUnit) deploymentUnitLocal.get()).getFile(resourceName);
- if (vf != null)
- is = vf.openStream();
- }
- else
- {
- is = getClass().getClassLoader().getResourceAsStream(resourceName);
- }
- if (is == null) {
- return;
- }
- contextMetaData = ContextMetaData.class.cast(u.unmarshal(is, factory, null));
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- // Ignore
- }
- }
- }
- } catch (Exception e) {
- log.error("XML error parsing: " + resourceName, e);
- ok = false;
- return;
- }
-
- try {
- if (contextMetaData != null)
- {
-
- if (contextMetaData.getAttributes() != null) {
- Iterator<String> names = contextMetaData.getAttributes().keySet().iterator();
- while (names.hasNext()) {
- String name = names.next();
- String value = (String) contextMetaData.getAttributes().get(name);
- IntrospectionUtils.setProperty(context, name, value);
- }
- }
-
- TomcatService.addLifecycleListeners(context, contextMetaData.getListeners());
-
- // Context/Realm
- if (contextMetaData.getRealm() != null) {
- context.setRealm((org.apache.catalina.Realm) TomcatService.getInstance(contextMetaData.getRealm(), null));
- }
-
- // Context/Valve
- TomcatService.addValves(context, contextMetaData.getValves());
-
- // Context/InstanceListener
- if (contextMetaData.getInstanceListeners() != null) {
- Iterator<String> listeners = contextMetaData.getInstanceListeners().iterator();
- while (listeners.hasNext())
- {
- context.addInstanceListener(listeners.next());
- }
- }
-
- // Context/Loader
- if (contextMetaData.getLoader() != null) {
- // This probably won't work very well in JBoss
- context.setLoader((org.apache.catalina.Loader) TomcatService.getInstance(contextMetaData.getLoader(),
- "org.apache.catalina.loader.WebappLoader"));
- }
-
- // Context/Manager
- if (contextMetaData.getManager() != null) {
- context.setManager((org.apache.catalina.Manager) TomcatService.getInstance(contextMetaData.getManager(),
- "org.apache.catalina.session.StandardManager"));
- }
-
- // Context/Parameter
- if (contextMetaData.getParameters() != null) {
- Iterator<ParameterMetaData> parameterMetaDatas = contextMetaData.getParameters().iterator();
- while (parameterMetaDatas.hasNext())
- {
- ParameterMetaData parameterMetaData = parameterMetaDatas.next();
- context.addApplicationParameter((org.apache.catalina.deploy.ApplicationParameter) TomcatService.getInstance(parameterMetaData, null));
- }
- }
-
- // Context/Resources
- if (contextMetaData.getResources() != null) {
- context.setResources((javax.naming.directory.DirContext) TomcatService.getInstance(contextMetaData.getResources(),
- "org.apache.naming.resources.FileDirContext"));
- }
-
- // Context/SessionCookie
- if (contextMetaData.getSessionCookie() != null) {
- SessionCookie sessionCookie = new SessionCookie();
- sessionCookie.setComment(contextMetaData.getSessionCookie().getComment());
- sessionCookie.setDomain(contextMetaData.getSessionCookie().getDomain());
- sessionCookie.setHttpOnly(contextMetaData.getSessionCookie().getHttpOnly());
- sessionCookie.setPath(contextMetaData.getSessionCookie().getPath());
- sessionCookie.setSecure(contextMetaData.getSessionCookie().getSecure());
- context.setSessionCookie(sessionCookie);
- }
-
- }
- }
- catch (Exception e)
- {
- log.error("Error processing: " + resourceName, e);
- ok = false;
- }
-
- }
-
protected void destroy() {
if (runDestroy) {
super.destroy();
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -186,63 +186,59 @@
}
Registry.getRegistry().registerComponent(context, objectName, config.getContextClassName());
- if (TomcatService.OLD_CODE) {
- String ctxConfig = null;
- File warFile = new File(url.getFile());
- if (warFile.isDirectory() == false)
+ String ctxConfig = null;
+ File warFile = new File(url.getFile());
+ if (warFile.isDirectory() == false)
+ {
+ // Using VFS access
+ VFSDirContext resources = new VFSDirContext();
+ resources.setVirtualFile(webApp.getDeploymentUnit().getFile(""));
+ context.setResources(resources);
+ // Find META-INF/context.xml
+ VirtualFile file = webApp.getDeploymentUnit().getFile(CONTEXT_CONFIG_FILE);
+ if (file != null)
{
- // Using VFS access
- VFSDirContext resources = new VFSDirContext();
- resources.setVirtualFile(webApp.getDeploymentUnit().getFile(""));
- context.setResources(resources);
- // Find META-INF/context.xml
- VirtualFile file = webApp.getDeploymentUnit().getFile(CONTEXT_CONFIG_FILE);
- if (file != null)
+ // Copy the META-INF/context.xml from the VFS to the temp folder
+ InputStream is = file.openStream();
+ FileOutputStream fos = null;
+ try
{
- // Copy the META-INF/context.xml from the VFS to the temp folder
- InputStream is = file.openStream();
- FileOutputStream fos = null;
- try
+ byte[] buffer = new byte[512];
+ int bytes;
+ // FIXME: use JBoss'temp folder instead
+ File tempFile = File.createTempFile("context-", ".xml");
+ tempFile.deleteOnExit();
+ fos = new FileOutputStream(tempFile);
+ while ((bytes = is.read(buffer)) > 0)
{
- byte[] buffer = new byte[512];
- int bytes;
- // FIXME: use JBoss'temp folder instead
- File tempFile = File.createTempFile("context-", ".xml");
- tempFile.deleteOnExit();
- fos = new FileOutputStream(tempFile);
- while ((bytes = is.read(buffer)) > 0)
- {
- fos.write(buffer, 0, bytes);
- }
- ctxConfig = tempFile.getAbsolutePath();
+ fos.write(buffer, 0, bytes);
}
- finally
+ ctxConfig = tempFile.getAbsolutePath();
+ }
+ finally
+ {
+ is.close();
+ if (fos != null)
{
- is.close();
- if (fos != null)
- {
- fos.close();
- }
+ fos.close();
}
}
}
- else
+ }
+ else
+ {
+ // Using direct filesystem access: no operation needed
+ // Find META-INF/context.xml
+ File webDD = new File(warFile, CONTEXT_CONFIG_FILE);
+ if (webDD.exists() == true)
{
- // Using direct filesystem access: no operation needed
- // Find META-INF/context.xml
- File webDD = new File(warFile, CONTEXT_CONFIG_FILE);
- if (webDD.exists() == true)
- {
- ctxConfig = webDD.getAbsolutePath();
- }
+ ctxConfig = webDD.getAbsolutePath();
}
-
- context.setConfigFile(ctxConfig);
- } else {
- context.setConfigFile(CONTEXT_CONFIG_FILE);
}
+
context.setInstanceManager(injectionContainer);
context.setDocBase(url.getFile());
+ context.setConfigFile(ctxConfig);
context.setDefaultContextXml("context.xml");
context.setDefaultWebXml("conf/web.xml");
context.setPublicId(metaData.getPublicID());
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatService.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatService.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatService.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -23,11 +23,7 @@
package org.jboss.web.tomcat.service.deployers;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
import java.util.Iterator;
-import java.util.List;
import javax.management.Attribute;
import javax.management.MBeanServer;
@@ -41,9 +37,7 @@
import org.apache.catalina.Lifecycle;
import org.apache.catalina.connector.Connector;
-import org.apache.catalina.startup.Catalina;
import org.apache.catalina.startup.CatalinaProperties;
-import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.modeler.Registry;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -51,19 +45,7 @@
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.system.server.Server;
import org.jboss.system.server.ServerImplMBean;
-import org.jboss.web.tomcat.metadata.AnyXmlMetaData;
-import org.jboss.web.tomcat.metadata.ConnectorMetaData;
-import org.jboss.web.tomcat.metadata.EngineMetaData;
-import org.jboss.web.tomcat.metadata.HostMetaData;
-import org.jboss.web.tomcat.metadata.ListenerMetaData;
-import org.jboss.web.tomcat.metadata.ServerMetaData;
-import org.jboss.web.tomcat.metadata.ServerXMLObjectModelFactory;
-import org.jboss.web.tomcat.metadata.ServiceMetaData;
-import org.jboss.web.tomcat.metadata.ValveMetaData;
import org.jboss.web.tomcat.security.HttpServletRequestPolicyContextHandler;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
/**
* Temporary workaround to support controlling the lifecycle of the webserver runtime portion of TomcatDeployer via a
@@ -98,8 +80,6 @@
this.tomcatDeployer = tomcatDeployer;
}
- public static boolean OLD_CODE = true;
-
// In our lifecycle, we invoke the webserver lifecycle-related operations
// in the TomcatDeployer
@@ -121,179 +101,21 @@
String objectNameS = tomcatDeployer.getDomain() + ":type=server";
ObjectName objectName = new ObjectName(objectNameS);
- if (OLD_CODE) {
+ // Set the modeler Registry MBeanServer to the that of the tomcat service
+ Registry.getRegistry().setMBeanServer(server);
- // Set the modeler Registry MBeanServer to the that of the tomcat service
- Registry.getRegistry().setMBeanServer(server);
+ Registry.getRegistry().registerComponent(Class.forName("org.apache.catalina.startup.Catalina").newInstance(),
+ objectName, "org.apache.catalina.startup.Catalina");
- Registry.getRegistry().registerComponent(Class.forName("org.apache.catalina.startup.Catalina").newInstance(),
- objectName, "org.apache.catalina.startup.Catalina");
+ server.setAttribute(objectName, new Attribute("catalinaHome", System.getProperty("jboss.server.home.dir")));
+ server.setAttribute(objectName, new Attribute("configFile", tomcatDeployer.getConfigFile()));
+ server.setAttribute(objectName, new Attribute("useNaming", new Boolean(false)));
+ server.setAttribute(objectName, new Attribute("useShutdownHook", new Boolean(false)));
+ server.setAttribute(objectName, new Attribute("await", new Boolean(false)));
+ server.setAttribute(objectName, new Attribute("redirectStreams", new Boolean(false)));
- server.setAttribute(objectName, new Attribute("catalinaHome", System.getProperty("jboss.server.home.dir")));
- server.setAttribute(objectName, new Attribute("configFile", tomcatDeployer.getConfigFile()));
- server.setAttribute(objectName, new Attribute("useNaming", new Boolean(false)));
- server.setAttribute(objectName, new Attribute("useShutdownHook", new Boolean(false)));
- server.setAttribute(objectName, new Attribute("await", new Boolean(false)));
- server.setAttribute(objectName, new Attribute("redirectStreams", new Boolean(false)));
-
- } else {
-
- // Parse main server.xml
- // FIXME: this could be done somewhere else
- ObjectModelFactory factory = new ServerXMLObjectModelFactory();
- Unmarshaller u = UnmarshallerFactory.newInstance().newUnmarshaller();
- u.setSchemaValidation(false);
- u.setValidation(false);
- InputStream is = null;
- ServerMetaData serverMetaData = null;
- try {
- File configFile = new File(tomcatDeployer.getConfigFile());
- if (configFile.exists())
- {
- is = new FileInputStream(configFile);
- }
- else
- {
- is = getClass().getClassLoader().getResourceAsStream(tomcatDeployer.getConfigFile());
- }
- if (is == null) {
- log.error("Could not read configured server.xml (will try default): " + tomcatDeployer.getConfigFile());
- is = getClass().getClassLoader().getResourceAsStream("server.xml");
- }
- serverMetaData = ServerMetaData.class.cast(u.unmarshal(is, factory, null));
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- // Ignore
- }
- }
- }
-
- // FIXME: could try to do stuff with EngineConfig and HostConfig, although neither
- // should be useful in JBoss
-
- // Create the Catalina instance
- Catalina catalina = new Catalina();
- catalina.setCatalinaHome(System.getProperty("jboss.server.home.dir"));
- catalina.setUseNaming(false);
- catalina.setUseShutdownHook(false);
- catalina.setAwait(false);
- catalina.setRedirectStreams(false);
-
- // Set the modeler Registry MBeanServer to the that of the tomcat service
- Registry.getRegistry(null, null).setMBeanServer(server);
- // Register the Catalina instance
- Registry.getRegistry(null, null).registerComponent(catalina, objectName, "org.apache.catalina.startup.Catalina");
-
- // Use the server.xml metadata to create a Server instance and assign it to the Catalina instance
-
- // Server
- org.apache.catalina.Server catalinaServer =
- (org.apache.catalina.Server) getInstance(serverMetaData, "org.apache.catalina.core.StandardServer");
- addLifecycleListeners(catalinaServer, serverMetaData.getListeners());
-
- // Server/Service
- if (serverMetaData.getServices() == null)
- {
- throw new IllegalArgumentException("No services");
- }
- Iterator<ServiceMetaData> serviceMetaDatas = serverMetaData.getServices().iterator();
- while (serviceMetaDatas.hasNext())
- {
- ServiceMetaData serviceMetaData = serviceMetaDatas.next();
- org.apache.catalina.Service service =
- (org.apache.catalina.Service) getInstance(serviceMetaData, "org.apache.catalina.core.StandardService");
- addLifecycleListeners(service, serviceMetaData.getListeners());
- service.setServer(catalinaServer);
- catalinaServer.addService(service);
-
- // Server/Service/Executor
- // FIXME
-
- // Server/Service/Connector
- if (serviceMetaData.getConnectors() != null)
- {
- Iterator<ConnectorMetaData> connectorMetaDatas = serviceMetaData.getConnectors().iterator();
- while (connectorMetaDatas.hasNext())
- {
- ConnectorMetaData connectorMetaData = connectorMetaDatas.next();
- Connector connector = new Connector(connectorMetaData.getProtocol());
- if (connectorMetaData.getAttributes() != null)
- {
- Iterator<String> names = connectorMetaData.getAttributes().keySet().iterator();
- while (names.hasNext())
- {
- String name = names.next();
- String value = (String) connectorMetaData.getAttributes().get(name);
- IntrospectionUtils.setProperty(connector, name, value);
- }
- }
- service.addConnector(connector);
- }
- }
-
- // Server/Service/Engine
- EngineMetaData engineMetaData = serviceMetaData.getEngine();
- org.apache.catalina.Engine engine =
- (org.apache.catalina.Engine) getInstance(engineMetaData, "org.apache.catalina.core.StandardEngine");
- addLifecycleListeners(engine, engineMetaData.getListeners());
- engine.setName(engineMetaData.getName());
- engine.setJvmRoute(engineMetaData.getJvmRoute());
- engine.setDefaultHost(engineMetaData.getDefaultHost());
- service.setContainer(engine);
-
- // Server/Service/Engine/Realm
- if (engineMetaData.getRealm() != null) {
- engine.setRealm((org.apache.catalina.Realm) getInstance(engineMetaData.getRealm(), null));
- }
-
- // Server/Service/Engine/Valve
- addValves(engine, engineMetaData.getValves());
-
- // Server/Service/Engine/Host
- if (engineMetaData.getHosts() != null)
- {
- Iterator<HostMetaData> hostMetaDatas = engineMetaData.getHosts().iterator();
- while (hostMetaDatas.hasNext())
- {
- HostMetaData hostMetaData = hostMetaDatas.next();
- org.apache.catalina.Host host =
- (org.apache.catalina.Host) getInstance(hostMetaData, "org.apache.catalina.core.StandardHost");
- addLifecycleListeners(host, hostMetaData.getListeners());
- host.setName(hostMetaData.getName());
- // FIXME: not really needed, and could hurt extensibility; probably needed until JBW GA with a fix
- host.setConfigClass("org.jboss.web.tomcat.service.deployers.JBossContextConfig");
- engine.addChild(host);
-
- // Server/Service/Engine/Host/Realm
- if (hostMetaData.getRealm() != null) {
- host.setRealm((org.apache.catalina.Realm) getInstance(hostMetaData.getRealm(), null));
- }
-
- // Server/Service/Engine/Host/Valve
- addValves(host, hostMetaData.getValves());
-
- // Server/Service/Engine/Host/Alias
- if (hostMetaData.getAliases() != null) {
- Iterator<String> aliases = hostMetaData.getAliases().iterator();
- while (aliases.hasNext()) {
- host.addAlias(aliases.next());
- }
- }
-
- }
- }
-
- }
-
- // Set the resulting Server to the Catalina instance
- catalina.setServer(catalinaServer);
- }
-
- // Start Tomcat
server.invoke(objectName, "create", new Object[]{}, new String[]{});
+
server.invoke(objectName, "start", new Object[]{}, new String[]{});
// Set up the authenticators in JNDI such that they can be configured for web apps
@@ -343,84 +165,6 @@
}
- /**
- * Create a JavaBean corresponding to the given metadata, similar to what the digester is doing.
- */
- protected static Object getInstance(AnyXmlMetaData metaData, String defaultClassName) throws Exception
- {
- String className = metaData.getClassName();
- if (className == null) {
- className = defaultClassName;
- }
- if (className == null) {
- throw new IllegalArgumentException("No className specified for element");
- }
- Object instance = TomcatService.class.getClassLoader().loadClass(className).newInstance();
- if (metaData.getAttributes() != null) {
- Iterator<String> names = metaData.getAttributes().keySet().iterator();
- while (names.hasNext()) {
- String name = names.next();
- String value = (String) metaData.getAttributes().get(name);
- IntrospectionUtils.setProperty(instance, name, value);
- }
- }
- return instance;
- }
-
- /**
- * Associate lifecycle listeners with the instance, if it implements Lifecycle.
- */
- protected static void addLifecycleListeners(Object instance, List<ListenerMetaData> list) throws Exception
- {
- if (list == null) {
- return;
- }
- org.apache.catalina.Lifecycle lifecycle = null;
- if (!(instance instanceof org.apache.catalina.Lifecycle))
- {
- return;
- }
- else
- {
- lifecycle = (org.apache.catalina.Lifecycle) instance;
- }
- Iterator<ListenerMetaData> listenerMetaDatas = list.iterator();
- while (listenerMetaDatas.hasNext())
- {
- ListenerMetaData listenerMetaData = listenerMetaDatas.next();
- lifecycle.addLifecycleListener((org.apache.catalina.LifecycleListener) getInstance(listenerMetaData, null));
- }
-
- }
-
-
- /**
- * Associate valves with the instance, if it implements Lifecycle.
- */
- protected static void addValves(Object instance, List<ValveMetaData> list) throws Exception
- {
- if (list == null) {
- return;
- }
- org.apache.catalina.Pipeline pipeline = null;
- if (!(instance instanceof org.apache.catalina.Pipeline))
- {
- return;
- }
- else
- {
- pipeline = (org.apache.catalina.Pipeline) instance;
- }
- Iterator<ValveMetaData> valveMetaDatas = list.iterator();
- while (valveMetaDatas.hasNext())
- {
- ValveMetaData valveMetaData = valveMetaDatas.next();
- pipeline.addValve((org.apache.catalina.Valve) getInstance(valveMetaData, null));
- }
-
- }
-
-
@Override
protected void stopService() throws Exception
{
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/ClusteredSession.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/ClusteredSession.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/ClusteredSession.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -49,11 +49,6 @@
import org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionMetadata;
import org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSessionTimestamp;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionManagementStatus;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationCause;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationPolicy;
-import org.jboss.web.tomcat.service.session.notification.LegacyClusteredSessionNotificationPolicy;
-
/**
* Abstract base class for session clustering based on StandardSession. Different session
* replication strategy can be implemented such as session- or attribute-based ones.
@@ -178,16 +173,6 @@
* Has this session only been accessed once?
*/
protected transient boolean firstAccess;
-
- /**
- * Policy that drives whether we issue servlet spec notifications.
- */
- protected transient ClusteredSessionNotificationPolicy notificationPolicy;
-
- protected transient ClusteredSessionManagementStatus clusterStatus;
-
- /** True if a call to activate() is needed to offset a preceding passivate() call */
- protected transient boolean needsPostReplicateActivation;
/**
* The string manager for this package.
@@ -201,7 +186,6 @@
invalidationPolicy = replicationTrigger;
this.useJK = useJK;
this.firstAccess = true;
- this.notificationPolicy = new LegacyClusteredSessionNotificationPolicy();
checkAlwaysReplicateTimestamp();
}
@@ -414,9 +398,8 @@
* This is called after loading a session to initialize the transient values.
*
* @param manager
- * @param cause the cause of the load
*/
- public abstract void initAfterLoad(AbstractJBossManager manager, ClusteredSessionNotificationCause cause);
+ public abstract void initAfterLoad(AbstractJBossManager manager);
/**
* Propogate session to the internal store.
@@ -510,15 +493,11 @@
throw new IllegalArgumentException
(sm.getString("clusteredSession.setAttribute.iae"));
}
-
- ClusteredSessionNotificationPolicy policy = getNotificationPolicy();
-
// Construct an event with the new value
HttpSessionBindingEvent event = null;
// Call the valueBound() method if necessary
- if (value instanceof HttpSessionBindingListener
- && policy.isHttpSessionBindingListenerInvocationAllowed(this.clusterStatus, ClusteredSessionNotificationCause.MODIFY, name, true))
+ if (value instanceof HttpSessionBindingListener)
{
event = new HttpSessionBindingEvent(getSession(), name, value);
try
@@ -536,8 +515,7 @@
// Call the valueUnbound() method if necessary
if ((unbound != null) && (unbound != value) &&
- (unbound instanceof HttpSessionBindingListener) &&
- policy.isHttpSessionBindingListenerInvocationAllowed(this.clusterStatus, ClusteredSessionNotificationCause.MODIFY, name, true))
+ (unbound instanceof HttpSessionBindingListener))
{
try
{
@@ -551,74 +529,71 @@
}
// Notify interested application event listeners
- if (policy.isHttpSessionAttributeListenerInvocationAllowed(this.clusterStatus, ClusteredSessionNotificationCause.MODIFY, name, true))
- {
- Context context = (Context) manager.getContainer();
- Object lifecycleListeners[] = context.getApplicationEventListeners();
- if (lifecycleListeners == null)
- return;
- for (int i = 0; i < lifecycleListeners.length; i++)
+ Context context = (Context) manager.getContainer();
+ Object listeners[] = context.getApplicationEventListeners();
+ if (listeners == null)
+ return;
+ for (int i = 0; i < listeners.length; i++)
+ {
+ if (!(listeners[i] instanceof HttpSessionAttributeListener))
+ continue;
+ HttpSessionAttributeListener listener =
+ (HttpSessionAttributeListener) listeners[i];
+ try
{
- if (!(lifecycleListeners[i] instanceof HttpSessionAttributeListener))
- continue;
- HttpSessionAttributeListener listener =
- (HttpSessionAttributeListener) lifecycleListeners[i];
+ if (unbound != null)
+ {
+ fireContainerEvent(context,
+ "beforeSessionAttributeReplaced",
+ listener);
+ if (event == null)
+ {
+ event = new HttpSessionBindingEvent
+ (getSession(), name, unbound);
+ }
+ listener.attributeReplaced(event);
+ fireContainerEvent(context,
+ "afterSessionAttributeReplaced",
+ listener);
+ }
+ else
+ {
+ fireContainerEvent(context,
+ "beforeSessionAttributeAdded",
+ listener);
+ if (event == null)
+ {
+ event = new HttpSessionBindingEvent
+ (getSession(), name, value);
+ }
+ listener.attributeAdded(event);
+ fireContainerEvent(context,
+ "afterSessionAttributeAdded",
+ listener);
+ }
+ }
+ catch (Throwable t)
+ {
try
{
if (unbound != null)
{
fireContainerEvent(context,
- "beforeSessionAttributeReplaced",
- listener);
- if (event == null)
- {
- event = new HttpSessionBindingEvent
- (getSession(), name, unbound);
- }
- listener.attributeReplaced(event);
- fireContainerEvent(context,
"afterSessionAttributeReplaced",
listener);
}
else
{
fireContainerEvent(context,
- "beforeSessionAttributeAdded",
- listener);
- if (event == null)
- {
- event = new HttpSessionBindingEvent
- (getSession(), name, value);
- }
- listener.attributeAdded(event);
- fireContainerEvent(context,
"afterSessionAttributeAdded",
listener);
}
}
- catch (Throwable t)
+ catch (Exception e)
{
- try
- {
- if (unbound != null)
- {
- fireContainerEvent(context,
- "afterSessionAttributeReplaced",
- listener);
- }
- else
- {
- fireContainerEvent(context,
- "afterSessionAttributeAdded",
- listener);
- }
- }
- catch (Exception e)
- {
- ;
- }
- manager.getContainer().getLogger().error(sm.getString("standardSession.attributeEvent"), t);
+ ;
}
+ manager.getContainer().getLogger().error(sm.getString("standardSession.attributeEvent"), t);
}
}
}
@@ -655,7 +630,7 @@
boolean notify = true;
boolean localCall = true;
boolean localOnly = false;
- expire(notify, localCall, localOnly, ClusteredSessionNotificationCause.INVALIDATE);
+ expire(notify, localCall, localOnly);
}
@@ -720,7 +695,7 @@
{
boolean localCall = true;
boolean localOnly = true;
- expire(notify, localCall, localOnly, ClusteredSessionNotificationCause.TIMEOUT);
+ expire(notify, localCall, localOnly);
}
/**
@@ -745,9 +720,8 @@
* cluster nodes should be made aware of the expiration.
* Only meaningful if <code>localCall</code> is
* <code>true</code>.
- * @param cause the cause of the expiration
*/
- public void expire(boolean notify, boolean localCall, boolean localOnly, ClusteredSessionNotificationCause cause)
+ public void expire(boolean notify, boolean localCall, boolean localOnly)
{
if (log.isTraceEnabled())
{
@@ -774,20 +748,18 @@
// Notify interested application event listeners
// FIXME - Assumes we call listeners in reverse order
Context context = (Context) manager.getContainer();
- Object lifecycleListeners[] = context.getApplicationLifecycleListeners();
- if (notify
- && (lifecycleListeners != null)
- && getNotificationPolicy().isHttpSessionListenerInvocationAllowed(this.clusterStatus, cause, localCall))
+ Object listeners[] = context.getApplicationLifecycleListeners();
+ if (notify && (listeners != null))
{
HttpSessionEvent event =
new HttpSessionEvent(getSession());
- for (int i = 0; i < lifecycleListeners.length; i++)
+ for (int i = 0; i < listeners.length; i++)
{
- int j = (lifecycleListeners.length - 1) - i;
- if (!(lifecycleListeners[j] instanceof HttpSessionListener))
+ int j = (listeners.length - 1) - i;
+ if (!(listeners[j] instanceof HttpSessionListener))
continue;
HttpSessionListener listener =
- (HttpSessionListener) lifecycleListeners[j];
+ (HttpSessionListener) listeners[j];
try
{
fireContainerEvent(context,
@@ -814,7 +786,6 @@
}
}
}
-
if (ACTIVITY_CHECK) {
accessCount.set(0);
}
@@ -828,7 +799,7 @@
// JBAS-1360 -- Unbind any objects associated with this session
String keys[] = keys();
for (int i = 0; i < keys.length; i++)
- removeAttributeInternal(keys[i], localCall, localOnly, notify, cause);
+ removeAttributeInternal(keys[i], localCall, localOnly, notify);
// Remove this session from our manager's active sessions
removeFromManager(localCall, localOnly);
@@ -861,13 +832,7 @@
}
}
- @Override
public void passivate()
- {
- passivate(ClusteredSessionNotificationCause.PASSIVATION);
- }
-
- public void passivate(ClusteredSessionNotificationCause cause)
{
// Notify interested session event listeners
fireSessionEvent(Session.SESSION_PASSIVATED_EVENT, null);
@@ -876,8 +841,6 @@
{
boolean hasListener = false;
- ClusteredSessionNotificationPolicy policy = getNotificationPolicy();
-
// Notify ActivationListeners
HttpSessionEvent event = null;
String keys[] = keys();
@@ -889,40 +852,26 @@
{
hasListener = true;
- if (policy.isHttpSessionActivationListenerInvocationAllowed(this.clusterStatus, cause, keys[i]))
- {
- if (event == null)
- event = new HttpSessionEvent(getSession());
-
- try
- {
- ((HttpSessionActivationListener)attribute).sessionWillPassivate(event);
- }
- catch (Throwable t)
- {
- manager.getContainer().getLogger().error
- (sm.getString("clusteredSession.attributeEvent"), t);
- }
+ if (event == null)
+ event = new HttpSessionEvent(getSession());
+ try
+ {
+ ((HttpSessionActivationListener)attribute).sessionWillPassivate(event);
}
+ catch (Throwable t)
+ {
+ manager.getContainer().getLogger().error
+ (sm.getString("clusteredSession.attributeEvent"), t);
+ }
}
}
hasActivationListener = hasListener ? Boolean.TRUE : Boolean.FALSE;
}
-
- if (cause != ClusteredSessionNotificationCause.PASSIVATION)
- {
- this.needsPostReplicateActivation = true;
- }
}
public void activate()
{
- activate(ClusteredSessionNotificationCause.ACTIVATION);
- }
-
- public void activate(ClusteredSessionNotificationCause cause)
- {
// Notify interested session event listeners
fireSessionEvent(Session.SESSION_ACTIVATED_EVENT, null);
@@ -932,8 +881,6 @@
boolean hasListener = false;
- ClusteredSessionNotificationPolicy policy = getNotificationPolicy();
-
HttpSessionEvent event = null;
String keys[] = keys();
Map attrs = getAttributesInternal();
@@ -943,37 +890,23 @@
if (attribute instanceof HttpSessionActivationListener)
{
hasListener = true;
-
- if (policy.isHttpSessionActivationListenerInvocationAllowed(this.clusterStatus, cause, keys[i]))
+ if (event == null)
+ event = new HttpSessionEvent(getSession());
+ try
{
- if (event == null)
- event = new HttpSessionEvent(getSession());
- try
- {
- ((HttpSessionActivationListener)attribute).sessionDidActivate(event);
- }
- catch (Throwable t)
- {
- manager.getContainer().getLogger().error
- (sm.getString("clusteredSession.attributeEvent"), t);
- }
+ ((HttpSessionActivationListener)attribute).sessionDidActivate(event);
}
+ catch (Throwable t)
+ {
+ manager.getContainer().getLogger().error
+ (sm.getString("clusteredSession.attributeEvent"), t);
+ }
}
}
hasActivationListener = hasListener ? Boolean.TRUE : Boolean.FALSE;
}
-
- if (cause != ClusteredSessionNotificationCause.ACTIVATION)
- {
- this.needsPostReplicateActivation = false;
- }
}
-
- public boolean getNeedsPostReplicateActivation()
- {
- return needsPostReplicateActivation;
- }
// TODO uncomment when work on JBAS-1900 is completed
// public void removeNote(String name)
@@ -1039,8 +972,6 @@
lastReplicated = 0;
maxUnreplicatedInterval = 0;
alwaysReplicateTimestamp = true;
- this.notificationPolicy = null;
- this.clusterStatus = null;
}
/**
@@ -1064,23 +995,8 @@
// Parse the real id first, as super.setId() calls add(),
// which depends on having the real id
parseRealId(id);
-
- // TODO -- should we bypass this if realId hasn't changed? We're removing
- // and readding every time we fail over, when all we want is a
- // jvmRoute change to the session id
-
- if ((this.id != null) && (manager != null))
- manager.remove(this);
-
- this.id = id;
-
- this.clusterStatus = new ClusteredSessionManagementStatus(this.realId, true, null, null);
-
- if (manager != null)
- manager.add(this);
+ super.setId(id);
}
-
-
/**
* Set the authenticated Principal that is associated with this Session.
@@ -1121,53 +1037,6 @@
sessionMetadataDirty();
}
- @Override
- public void tellNew()
- {
- tellNew(ClusteredSessionNotificationCause.CREATE);
- }
-
- public void tellNew(ClusteredSessionNotificationCause cause)
- {
- // Notify interested session event listeners
- fireSessionEvent(Session.SESSION_CREATED_EVENT, null);
-
- // Notify interested application event listeners
- if (getNotificationPolicy().isHttpSessionListenerInvocationAllowed(this.clusterStatus, cause, true))
- {
- Context context = (Context) manager.getContainer();
- Object lifecycleListeners[] = context.getApplicationLifecycleListeners();
- if (lifecycleListeners != null)
- {
- HttpSessionEvent event = new HttpSessionEvent(getSession());
- for (int i = 0; i < lifecycleListeners.length; i++)
- {
- if (!(lifecycleListeners[i] instanceof HttpSessionListener))
- continue;
- HttpSessionListener listener = (HttpSessionListener) lifecycleListeners[i];
- try
- {
- fireContainerEvent(context, "beforeSessionCreated", listener);
- listener.sessionCreated(event);
- fireContainerEvent(context, "afterSessionCreated", listener);
- }
- catch (Throwable t)
- {
- try
- {
- fireContainerEvent(context, "afterSessionCreated", listener);
- }
- catch (Exception e)
- {
- ;
- }
- manager.getContainer().getLogger().error(sm.getString("standardSession.sessionEvent"), t);
- }
- }
- }
- }
- }
-
public String toString()
{
StringBuffer buf = new StringBuffer();
@@ -1212,16 +1081,6 @@
return excluded;
}
-
- protected ClusteredSessionNotificationPolicy getNotificationPolicy()
- {
- return notificationPolicy;
- }
-
- protected void setNotificationPolicy(ClusteredSessionNotificationPolicy notificationPolicy)
- {
- this.notificationPolicy = notificationPolicy;
- }
public void update(Integer version, DistributableSessionTimestamp timestamp,
DistributableSessionMetadata metadata, Map attributes)
@@ -1261,10 +1120,6 @@
// a heavy cost.
this.lastReplicated = this.creationTime;
- this.notificationPolicy = new LegacyClusteredSessionNotificationPolicy();
-
- this.clusterStatus = new ClusteredSessionManagementStatus(this.realId, true, null, null);
-
checkAlwaysReplicateTimestamp();
// TODO uncomment when work on JBAS-1900 is completed
@@ -1315,7 +1170,7 @@
{
boolean localCall = true;
boolean localOnly = false;
- removeAttributeInternal(name, localCall, localOnly, notify, ClusteredSessionNotificationCause.MODIFY);
+ removeAttributeInternal(name, localCall, localOnly, notify);
}
/**
@@ -1331,13 +1186,11 @@
* @param localOnly <code>true</code> if the removal should not be
* replicated around the cluster
* @param notify <code>true</code> if listeners should be notified
- * @param cause the cause of the removal
*/
protected void removeAttributeInternal(String name,
boolean localCall,
boolean localOnly,
- boolean notify,
- ClusteredSessionNotificationCause cause)
+ boolean notify)
{
// Remove this attribute from our collection
Object value = removeJBossInternalAttribute(name, localCall, localOnly);
@@ -1348,59 +1201,53 @@
return;
}
- ClusteredSessionNotificationPolicy policy = getNotificationPolicy();
-
// Call the valueUnbound() method if necessary
HttpSessionBindingEvent event = null;
- if (value instanceof HttpSessionBindingListener
- && policy.isHttpSessionBindingListenerInvocationAllowed(this.clusterStatus, cause, name, localCall))
+ if (value instanceof HttpSessionBindingListener)
{
event = new HttpSessionBindingEvent(getSession(), name, value);
((HttpSessionBindingListener) value).valueUnbound(event);
}
// Notify interested application event listeners
- if (policy.isHttpSessionAttributeListenerInvocationAllowed(this.clusterStatus, cause, name, localCall))
+ Context context = (Context) manager.getContainer();
+ Object listeners[] = context.getApplicationEventListeners();
+ if (listeners == null)
+ return;
+ for (int i = 0; i < listeners.length; i++)
{
- Context context = (Context) manager.getContainer();
- Object lifecycleListeners[] = context.getApplicationEventListeners();
- if (lifecycleListeners == null)
- return;
- for (int i = 0; i < lifecycleListeners.length; i++)
+ if (!(listeners[i] instanceof HttpSessionAttributeListener))
+ continue;
+ HttpSessionAttributeListener listener =
+ (HttpSessionAttributeListener) listeners[i];
+ try
{
- if (!(lifecycleListeners[i] instanceof HttpSessionAttributeListener))
- continue;
- HttpSessionAttributeListener listener =
- (HttpSessionAttributeListener) lifecycleListeners[i];
+ fireContainerEvent(context,
+ "beforeSessionAttributeRemoved",
+ listener);
+ if (event == null)
+ {
+ event = new HttpSessionBindingEvent
+ (getSession(), name, value);
+ }
+ listener.attributeRemoved(event);
+ fireContainerEvent(context,
+ "afterSessionAttributeRemoved",
+ listener);
+ }
+ catch (Throwable t)
+ {
try
{
fireContainerEvent(context,
- "beforeSessionAttributeRemoved",
- listener);
- if (event == null)
- {
- event = new HttpSessionBindingEvent
- (getSession(), name, value);
- }
- listener.attributeRemoved(event);
- fireContainerEvent(context,
"afterSessionAttributeRemoved",
listener);
}
- catch (Throwable t)
+ catch (Exception e)
{
- try
- {
- fireContainerEvent(context,
- "afterSessionAttributeRemoved",
- listener);
- }
- catch (Exception e)
- {
- ;
- }
- manager.getContainer().getLogger().error(sm.getString("standardSession.attributeEvent"), t);
+ ;
}
+ manager.getContainer().getLogger().error(sm.getString("standardSession.attributeEvent"), t);
}
}
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheClusteredSession.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheClusteredSession.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheClusteredSession.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -24,7 +24,6 @@
import org.jboss.web.tomcat.service.session.distributedcache.spi.DistributableSession;
import org.jboss.web.tomcat.service.session.distributedcache.spi.DistributedCacheManager;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationCause;
/**
* Common superclass of ClusteredSession types that use JBossCache
@@ -53,7 +52,6 @@
super(manager, manager.getReplicationTrigger(), manager.getUseJK());
int maxUnrep = manager.getMaxUnreplicatedInterval() * 1000;
setMaxUnreplicatedInterval(maxUnrep);
- establishNotificationPolicy();
establishProxy();
}
@@ -63,26 +61,19 @@
*
* @param manager the manager for this session
*/
- @Override
- public void initAfterLoad(AbstractJBossManager manager, ClusteredSessionNotificationCause cause)
+ public void initAfterLoad(AbstractJBossManager manager)
{
- // Our manager, notification policy and proxy may have been lost
- // if we were replicated, so reestablish them
+ // Our manager and proxy may have been lost if we were recycled,
+ // so reestablish them
setManager(manager);
- establishNotificationPolicy();
establishProxy();
// Since attribute map may be transient, we may need to populate it
// from the underlying store.
populateAttributes();
- if (cause == ClusteredSessionNotificationCause.ACTIVATION)
- {
- this.needsPostReplicateActivation = true;
- }
-
// Notify all attributes of type HttpSessionActivationListener (SRV 7.7.2)
- this.activate(cause);
+ this.activate();
// We are no longer outdated vis a vis distributed cache
clearOutdated();
@@ -187,10 +178,5 @@
{
return removeJBossInternalAttribute(name, localCall, localOnly);
}
-
- protected void establishNotificationPolicy()
- {
- setNotificationPolicy(((JBossCacheManager)manager).getNotificationPolicy());
- }
}
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheManager.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheManager.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/session/JBossCacheManager.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -56,11 +56,6 @@
import org.jboss.web.tomcat.service.session.distributedcache.spi.FieldBasedDistributedCacheManager;
import org.jboss.web.tomcat.service.session.distributedcache.spi.LocalDistributableSessionManager;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationCapability;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationCause;
-import org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationPolicy;
-import org.jboss.web.tomcat.service.session.notification.LegacyClusteredSessionNotificationPolicy;
-
/**
* Implementation of a clustered session manager for
* catalina using JBossCache replication.
@@ -138,9 +133,6 @@
private int maxUnreplicatedInterval_ = -1;
- private String notificationPolicyClass_;
- private ClusteredSessionNotificationPolicy notificationPolicy_;
-
// ---------------------------------------------------------- Constructors
public JBossCacheManager() throws ClusteringNotSupportedException
@@ -207,9 +199,6 @@
this.cacheConfigName_ = repCfg.getCacheName();
- // FIXME -- JBAS-5778
- //this.notificationPolicyClass_ = webMetaData.getSessionNotificationPolicy();
-
// Initing the proxy would be better in start, but we do it here so we
// can detect ClusteringNotSupportedException at this deploy stage
initCacheProxy();
@@ -288,7 +277,7 @@
// Notify all session attributes that they get serialized (SRV 7.7.2)
long begin = System.currentTimeMillis();
- session.passivate(ClusteredSessionNotificationCause.REPLICATION);
+ session.passivate();
long elapsed = System.currentTimeMillis() - begin;
stats_.updatePassivationStats(realId, elapsed);
@@ -453,7 +442,6 @@
}
session.setId(sessionId); // Setting the id leads to a call to add()
- session.tellNew(ClusteredSessionNotificationCause.CREATE);
if (trace_)
{
@@ -504,15 +492,12 @@
log_.trace("Checking for session " + realId + " in the distributed cache");
session = loadSession(realId);
-// if (session != null)
-// {
-// add(session);
-// // We now notify, since we've added a policy to allow listeners
-// // to discriminate. But the default policy will not allow the
-// // notification to be emitted for FAILOVER, so the standard
-// // behavior is unchanged.
-// session.tellNew(ClusteredSessionNotificationCause.FAILOVER);
-// }
+ if (session != null)
+ {
+ add(session);
+ // TODO should we advise of a new session?
+ //tellNew();
+ }
}
else if (session != null && session.isOutdated())
{
@@ -527,13 +512,6 @@
{
// Add this session to the set of those potentially needing replication
SessionReplicationContext.bindSession(session, snapshotManager_);
-
- // If we previously called passivate() on the session due to
- // replication, we need to make an offsetting activate() call
- if (session.getNeedsPostReplicateActivation())
- {
- session.activate(ClusteredSessionNotificationCause.REPLICATION);
- }
}
return session;
@@ -942,7 +920,7 @@
try
{
Thread.currentThread().setContextClassLoader(tcl_);
- session.expire(notify, localCall, localOnly, ClusteredSessionNotificationCause.INVALIDATE);
+ session.expire(notify, localCall, localOnly);
}
finally
{
@@ -1175,16 +1153,6 @@
return proxy_;
}
- public ClusteredSessionNotificationPolicy getNotificationPolicy()
- {
- return notificationPolicy_;
- }
-
- public void setNotificationPolicy_(ClusteredSessionNotificationPolicy notificationPolicy_)
- {
- this.notificationPolicy_ = notificationPolicy_;
- }
-
// --------------------------------------------------------------- Overrides
/**
@@ -1461,8 +1429,6 @@
long begin = System.currentTimeMillis();
boolean mustAdd = false;
- boolean passivated = false;
-
JBossCacheClusteredSession session = (JBossCacheClusteredSession) sessions_.get(realId);
if (session == null)
@@ -1472,9 +1438,6 @@
// a replication message from another server
mustAdd = true;
session = createEmptyClusteredSession();
-
- OwnedSessionUpdate osu = unloadedSessions_.get(realId);
- passivated = (osu != null && osu.passivated);
}
synchronized (session)
@@ -1506,9 +1469,7 @@
if (session != null)
{
- ClusteredSessionNotificationCause cause = passivated ? ClusteredSessionNotificationCause.ACTIVATION
- : ClusteredSessionNotificationCause.FAILOVER;
- session.initAfterLoad(this, cause);
+ session.initAfterLoad(this);
}
}
catch (Exception ex)
@@ -1550,13 +1511,7 @@
if (session != null)
{
if (mustAdd)
- {
add(session, false); // don't replicate
- if (!passivated)
- {
- session.tellNew(ClusteredSessionNotificationCause.FAILOVER);
- }
- }
long elapsed = System.currentTimeMillis() - begin;
stats_.updateLoadStats(realId, elapsed);
@@ -1669,7 +1624,7 @@
// Tell the proxy to ignore cache notifications we are about
// to generate for this session.
SessionReplicationContext.startCacheActivity();
- session.passivate(ClusteredSessionNotificationCause.PASSIVATION);
+ session.passivate();
proxy_.evictSession(realId);
sessionPassivated();
}
@@ -1772,9 +1727,9 @@
log_.error(msg, e);
throw new LifecycleException(msg, e);
}
- }
+ }
- initClusteredSessionNotificationPolicy();
+ // Validate attributes
// Create the JBossCacheService
try
@@ -1841,32 +1796,6 @@
proxy_ = distributedCacheManagerFactory.getDistributedCacheManager(cacheConfigName_);
}
}
-
- private void initClusteredSessionNotificationPolicy()
- {
- if (this.notificationPolicyClass_ == null || this.notificationPolicyClass_.length() == 0)
- {
- this.notificationPolicyClass_ = System.getProperty("jboss.web.clustered.session.notification.policy",
- LegacyClusteredSessionNotificationPolicy.class.getName());
- }
-
- try
- {
- this.notificationPolicy_ = (ClusteredSessionNotificationPolicy) Thread.currentThread().getContextClassLoader().loadClass(this.notificationPolicyClass_).newInstance();
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException("Failed to instantiate " +
- ClusteredSessionNotificationPolicy.class.getName() +
- " " + this.notificationPolicyClass_, e);
- }
-
- this.notificationPolicy_.setClusteredSessionNotificationCapability(new ClusteredSessionNotificationCapability());
- }
/**
* Gets the ids of all sessions in the distributed cache and adds
@@ -2110,7 +2039,7 @@
boolean notify = true;
boolean localCall = true;
boolean localOnly = true;
- ses.expire(notify, localCall, localOnly, ClusteredSessionNotificationCause.UNDEPLOY);
+ ses.expire(notify, localCall, localOnly);
}
}
catch (Throwable t)
@@ -2169,8 +2098,6 @@
{
super.start();
- initClusteredSessionNotificationPolicy();
-
// Start the JBossCacheService
// Will need to pass the classloader that is associated with this
// web app so de-serialization will work correctly.
Modified: trunk/tomcat/src/webapps/ROOT.war/WEB-INF/web.xml
===================================================================
--- trunk/tomcat/src/webapps/ROOT.war/WEB-INF/web.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/webapps/ROOT.war/WEB-INF/web.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -9,12 +9,4 @@
<description>
Welcome to JBoss
</description>
- <servlet>
- <servlet-name>Status Servlet</servlet-name>
- <servlet-class>org.jboss.web.tomcat.service.StatusServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Status Servlet</servlet-name>
- <url-pattern>/status</url-pattern>
- </servlet-mapping>
</web-app>
Modified: trunk/tomcat/src/webapps/ROOT.war/index.html
===================================================================
--- trunk/tomcat/src/webapps/ROOT.war/index.html 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tomcat/src/webapps/ROOT.war/index.html 2008-10-20 13:44:10 UTC (rev 79747)
@@ -4,13 +4,13 @@
<head>
<title>Welcome to JBoss™</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <link rel="StyleSheet" href="css/jboss.css" type="text/css"/>
+ <link rel="StyleSheet" href="jboss.css" type="text/css"/>
</head>
<body>
<!-- header begin -->
<a href="http://www.jboss.org">
- <img src="images/logo.gif" alt="JBoss" id="logo" width="226" height="105" />
+ <img src="logo.gif" alt="JBoss" id="logo" width="226" height="105" />
</a>
<div id="header"> </div>
<div id="navigation_bar"></div>
@@ -26,9 +26,9 @@
<h3>JBoss Management</h3>
<ul>
- <li><a href="/status">Tomcat status</a>
- <a href="/status?full=true">(full)</a>
- <a href="/status?XML=true">(XML)</a></li>
+ <li><a href="/web-console/status">Tomcat status</a>
+ <a href="/web-console/status?full=true">(full)</a>
+ <a href="/web-console/status?XML=true">(XML)</a></li>
<li><a href="/jmx-console/">JMX Console</a></li>
<li><a href="/web-console/">JBoss Web Console</a></li>
</ul>
Copied: trunk/tomcat/src/webapps/ROOT.war/jboss.css (from rev 79434, trunk/tomcat/src/webapps/ROOT.war/jboss.css)
===================================================================
--- trunk/tomcat/src/webapps/ROOT.war/jboss.css (rev 0)
+++ trunk/tomcat/src/webapps/ROOT.war/jboss.css 2008-10-20 13:44:10 UTC (rev 79747)
@@ -0,0 +1,143 @@
+body {
+ margin: 13px 0px 10px 0px;
+ background-color: #ffffff;
+ font-size: 10px;
+ font-family: verdana, arial, "sans-serif";
+ color: #606060;
+ }
+img {
+ border: 0px;
+ }
+#header {
+ background-color: #003D6E;
+ background-repeat: no-repeat;
+ width: 100%;
+ height: 80px;
+ }
+#header #banner {
+ float: right;
+ margin: 8px 5px 0px 0px;
+ }
+#logo {
+ position: absolute;
+ top: 2px;
+ left: 4px;
+ z-index: 200;
+}
+#navigation_bar {
+ background-color: #f0f0f0;
+ border-bottom: 1px dotted #999999;
+ height: 20px;
+ }
+#items {
+ font-size: 12px;
+ width: 600px;
+ margin: 5px 5px 5px 170px;
+ position: relative;
+ z-index: 300;
+ }
+#items .item {
+ margin-right: 10px;
+ }
+.side_block {
+ margin: 15px 5px 10px 5px;
+ background-color: #fbfbfb;
+ border: 1px solid #f0f0f0;
+ }
+.side_block h3 {
+ font-size: 11px;
+ font-weight: 100;
+ width: 100%;
+ margin: 0px 0px 5px 0px;
+ padding: 4px 4px 4px 10x;
+ background-color: #f0f0f0;
+ }
+.side_block h4 {
+ font-size: 11px;
+ color: #003D6E;
+ font-weight: bold;
+ margin: 10px 5px 4px 5px;
+ }
+.side_block p {
+ margin: 5px 5px 3px 5px;
+ }
+.side_block form {
+ margin: 0px 0px 0px 5px;
+ }
+.side_block #login {
+ font-size: 9px;
+ }
+.side_block p img {
+ text-align: center;
+ }
+#content {
+ width: 90%;
+ margin: 10px auto;
+ }
+#left {
+ float: left;
+ width: 14%;
+ }
+#right {
+ float: right;
+ width: 14%;
+ }
+.content_block {
+ text-align: justify;
+ border: 1px solid #999999;
+ margin: 5px;
+ width: 31%;
+ float: left;
+ }
+.content_block p {
+ margin: 0px 5px 3px 5px;
+ }
+.content_block h3 {
+ font-size: 11px;
+ font-weight: bold;
+ color: #000000;
+ margin: 0px 0px 5px 0px;
+ padding: 4px 4px 4px 4x;
+ text-align: center;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid #999999
+ }
+.content_block h4 {
+ font-size: 11px;
+ color: #003D6E;
+ text-align: left;
+ font-weight: bold;
+ margin: 10px 5px 4px 5px;
+ }
+#footer {
+ clear: both;
+ border-top: 1px dotted #999999;
+ }
+#credits {
+ background-color: #f0f0f0;
+ padding: 5px;
+ text-align: center;
+ }
+#footer_bar {
+ height: 20px;
+ width: 100%;
+ background-color: #003D6E;
+ }
+.hide {
+ display: none;
+ }
+.spacer {
+ clear: both;
+ }
+.spacer hr {
+ display: none;
+ }
+.center {
+ text-align: center;
+ }
+#youcandoit {
+ background-image: url("youcandoit.jpg");
+ background-repeat: repeat-x;
+ height: 165px;
+ margin: 0px 30px 0px 30px;
+ }
Copied: trunk/tomcat/src/webapps/ROOT.war/logo.gif (from rev 79434, trunk/tomcat/src/webapps/ROOT.war/logo.gif)
===================================================================
(Binary files differ)
Modified: trunk/tools/etc/buildmagic/buildmagic.ent
===================================================================
--- trunk/tools/etc/buildmagic/buildmagic.ent 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tools/etc/buildmagic/buildmagic.ent 2008-10-20 13:44:10 UTC (rev 79747)
@@ -57,7 +57,6 @@
<fileset dir="${project.tools}/lib">
<include name="*.jar"/>
</fileset>
- <pathelement location="${project.tools}/lib-ext/buildmagic-tasks.jar"/>
<pathelement location="${project.tools}/lib"/>
<pathelement location="${project.tools}/etc"/>
<pathelement location="${project.tools}"/>
Modified: trunk/tools/etc/buildmagic/libraries.ent
===================================================================
--- trunk/tools/etc/buildmagic/libraries.ent 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/tools/etc/buildmagic/libraries.ent 2008-10-20 13:44:10 UTC (rev 79747)
@@ -406,6 +406,14 @@
<pathelement path="${sleepycat.lib}/je.jar"/>
</path>
+
+ <!-- jUDDI -->
+ <property name="juddi.juddi.root" value="${project.thirdparty}/juddi-juddi"/>
+ <property name="juddi.juddi.lib" value="${juddi.juddi.root}/lib"/>
+ <path id="juddi.juddi.classpath">
+ <pathelement path="${juddi.juddi.lib}/juddi.jar"/>
+ </path>
+
<!-- JUnitEJB -->
<property name="junitejb.junitejb.root" value="${project.thirdparty}/junitejb/junitejb"/>
<property name="junitejb.junitejb.lib" value="${junitejb.junitejb.root}/lib"/>
Copied: trunk/tools/lib/buildmagic-tasks.jar (from rev 79434, trunk/tools/lib/buildmagic-tasks.jar)
===================================================================
(Binary files differ)
Modified: trunk/varia/src/resources/services/invoker/http/web.xml
===================================================================
--- trunk/varia/src/resources/services/invoker/http/web.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/varia/src/resources/services/invoker/http/web.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -22,7 +22,7 @@
</init-param>
<init-param>
<param-name>invokerName</param-name>
- <param-value>jboss:service=NamingService</param-value>
+ <param-value>jboss:service=Naming</param-value>
<description>The JMX ObjectName of the naming service mbean
</description>
</init-param>
Modified: trunk/varia/src/resources/services/invoker/httpha/web.xml
===================================================================
--- trunk/varia/src/resources/services/invoker/httpha/web.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/varia/src/resources/services/invoker/httpha/web.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -22,7 +22,7 @@
</init-param>
<init-param>
<param-name>invokerName</param-name>
- <param-value>jboss:service=NamingService</param-value>
+ <param-value>jboss:service=Naming</param-value>
<description>The JMX ObjectName of the naming service mbean
</description>
</init-param>
Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -30,7 +30,7 @@
import java.util.List;
/**
- * This is the deployer that calls the registered DeployerHooks
+ * This deployer that calls the registered DeployerHooks
*
* @author Thomas.Diesler at jboss.org
* @since 24-Apr-2007
Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -43,7 +43,7 @@
import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
/**
- * This it the web service deployer for EJB. Adopts EJB deployments to
+ * This web service deployer for EJB. Adopts EJB deployments to
* {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration} an passes it to a chain of
* {@link org.jboss.wsf.container.jboss50.deployer.DeployerHook}'s.
*
Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -24,7 +24,7 @@
import org.jboss.metadata.web.jboss.JBossWebMetaData;
/**
- * This is the web service deployer for JSE
+ * This web service deployer for JSE
*
* @author Thomas.Diesler at jboss.org
* @since 24-Apr-2007
@@ -36,7 +36,6 @@
public WebServiceDeployerPreJSE()
{
addInput(JBossWebMetaData.class);
- addOutput(JBossWebMetaData.class);
}
public void setRelOrderWar(int relOrderWar)
Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java 2008-10-20 13:44:10 UTC (rev 79747)
@@ -117,16 +117,6 @@
initParams = new ArrayList<ParamValueMetaData>();
servlet.setInitParam(initParams);
}
-
- if (servlet.getLoadOnStartup() <= 0)
- {
- // [JBWS-2246] hack. We need to start all webservice endpoint servlets because of
- // wsdl-publish-location feature. This feature generates wsdl to specified file
- // location on the FS. Without starting the servlets the WSDL will not be published
- // because publish wsdl deployment aspect is now called in endpoint init servlet
- // lifecycle method and not in the deployers chain as it was in AS 4.x series.
- servlet.setLoadOnStartup(1);
- }
String linkName = servlet.getServletName();
Modified: trunk/webservices/src/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml
===================================================================
--- trunk/webservices/src/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/resources/jbossws-jboss50-container.jar/META-INF/jbossws-container-jboss-beans.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -156,7 +156,7 @@
<property name="provides">ContainerEndpointHandler</property>
</bean>
- <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointDeployerLifecycleDeploymentAspect">
+ <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointLifecycleDeploymentAspect">
<property name="requires">LAST_DEPLOYMENT_ASPECT</property>
</bean>
Modified: trunk/webservices/src/scripts/jbossws-deploy-macros.xml
===================================================================
--- trunk/webservices/src/scripts/jbossws-deploy-macros.xml 2008-10-20 12:57:06 UTC (rev 79746)
+++ trunk/webservices/src/scripts/jbossws-deploy-macros.xml 2008-10-20 13:44:10 UTC (rev 79747)
@@ -29,7 +29,7 @@
<patternset id="jbossws.client.patternset">
<include name="**/FastInfoset.jar"/>
- <include name="**/jaxb-api.jar"/>
+ <include name="**/sun-jaxb/lib/jaxb-api.jar"/>
<include name="**/jaxb-impl.jar"/>
<include name="**/jaxb-xjc.jar"/>
<include name="**/jaxws-tools.jar"/>
@@ -45,7 +45,7 @@
<include name="**/jbossws-spi.jar"/>
<include name="**/jettison.jar"/>
<include name="**/policy.jar"/>
- <include name="**/stax-api.jar"/>
+ <include name="**/stax-api/lib/stax-api.jar"/>
<include name="**/stax-ex.jar"/>
<include name="**/streambuffer.jar"/>
<include name="**/wsdl4j.jar"/>
@@ -126,9 +126,7 @@
<copy todir="@{targetdir}" flatten="true" overwrite="true">
<fileset dir="@{thirdpartydir}">
<patternset refid="jbossws.lib.patternset"/>
- <include name="**/jaxb-api.jar"/>
<include name="**/jaxb-impl.jar"/>
- <include name="**/stax-api.jar"/>
<include name="**/wstx.jar"/>
</fileset>
</copy>
@@ -156,7 +154,7 @@
<!-- Deploy Client -->
<!-- ================================================================== -->
- <macrodef name="macro-deploy-jbossws-client42">
+ <macrodef name="macro-deploy-jbossws-client">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
<attribute name="jbossid"/>
@@ -170,20 +168,6 @@
</copy>
</sequential>
</macrodef>
-
- <macrodef name="macro-deploy-jbossws-client50">
- <attribute name="thirdpartydir"/>
- <attribute name="targetdir"/>
- <attribute name="jbossid"/>
- <sequential>
- <mkdir dir="@{targetdir}"/>
- <copy todir="@{targetdir}" flatten="true" overwrite="true">
- <fileset dir="@{thirdpartydir}">
- <patternset refid="jbossws.client.patternset"/>
- </fileset>
- </copy>
- </sequential>
- </macrodef>
<!-- ================================================================== -->
<!-- Deploy Server Lib -->
@@ -281,11 +265,26 @@
<attribute name="jbossid"/>
<sequential>
<mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.service.lib.patternset"/>
+ </fileset>
+ </copy>
<unzip dest="@{targetdir}/jbossws-management.war">
<fileset dir="@{thirdpartydir}">
<include name="**/jbossws-native-management.war"/>
</fileset>
</unzip>
+ <copy todir="@{targetdir}">
+ <fileset dir="@{artifactsdir}/resources/jbossws-@{jbossid}/jbossws.beans">
+ <include name="META-INF/**"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}/META-INF">
+ <fileset dir="@{artifactsdir}/resources">
+ <include name="standard-*-config.xml"/>
+ </fileset>
+ </copy>
</sequential>
</macrodef>
@@ -302,25 +301,41 @@
<mkdir dir="@{targetdir}"/>
<copy todir="@{targetdir}" flatten="true" overwrite="true">
<fileset dir="@{thirdpartydir}">
- <patternset refid="jbossws.service.lib.patternset"/>
+ <include name="**/jbossws-common.jar"/>
+ <include name="**/jbossws-framework.jar"/>
+ <include name="**/jbossws-@{jbossid}.jar"/>
</fileset>
</copy>
- <copy todir="@{targetdir}">
- <fileset dir="@{artifactsdir}/resources/jbossws-@{jbossid}/jbossws.beans">
- <include name="META-INF/**"/>
+ <copy todir="@{targetdir}/META-INF" flatten="true" overwrite="true">
+ <fileset dir="@{artifactsdir}/resources/jbossws-@{jbossid}">
+ <include name="**/jbossws-deployer-beans.xml"/>
</fileset>
</copy>
- <copy todir="@{targetdir}/META-INF">
- <fileset dir="@{artifactsdir}/resources">
- <include name="standard-*-config.xml"/>
- </fileset>
- </copy>
+ </sequential>
+ </macrodef>
+
+ <!-- ================================================================== -->
+ <!-- Deploy Deploy -->
+ <!-- ================================================================== -->
+
+ <macrodef name="macro-deploy-jbossws-deploy50">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
<copy todir="@{targetdir}" flatten="true" overwrite="true">
<fileset dir="@{thirdpartydir}">
- <include name="**/jbossws-common.jar"/>
- <include name="**/jbossws-framework.jar"/>
+ <include name="**/jbossws-@{jbossid}-container.jar"/>
</fileset>
</copy>
+ <unzip dest="@{targetdir}" src="@{targetdir}/jbossws-@{jbossid}-container.jar">
+ <patternset>
+ <include name="META-INF/jbossws-container-beans.xml"/>
+ </patternset>
+ </unzip>
+ <move file="@{targetdir}/META-INF/jbossws-container-beans.xml" tofile="@{targetdir}/jbossws-container-beans.xml"/>
+ <delete file="@{targetdir}/jbossws-@{jbossid}-container.jar"/>
+ <delete dir="@{targetdir}/META-INF"/>
</sequential>
</macrodef>
@@ -333,7 +348,7 @@
<target name="deploy-jbossws-native42" depends="check-parameters,deploy-jbossws-endorsed">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
- <macro-deploy-jbossws-client42 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-client targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-jbossws-lib42 targetdir="${installserver}/../../lib" thirdpartydir="${thirdpartydir}"/>
<macro-deploy-jbossws-server-lib42 targetdir="${installserver}/lib" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-jbossws-sar42 targetdir="${installserver}/deploy/jbossws.sar" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
@@ -342,11 +357,12 @@
<target name="deploy-jbossws-native50" depends="check-parameters,deploy-jbossws-endorsed">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
- <macro-deploy-jbossws-client50 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-client targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-jbossws-lib50 targetdir="${installserver}/../../lib" thirdpartydir="${thirdpartydir}"/>
<macro-deploy-jbossws-server-lib50 targetdir="${installserver}/lib" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-jbossws-sar50 targetdir="${installserver}/deploy/jbossws.sar" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-jbossws-deployers50 targetdir="${installserver}/deployers/jbossws.deployer/" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <!--macro-deploy-jbossws-deploy50 targetdir="${installserver}/deploy" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/-->
<macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
</target>
@@ -364,7 +380,7 @@
<!-- Undeploy JBossWS -->
<!-- ================================================================== -->
- <macrodef name="macro-undeploy-jbossws42">
+ <macrodef name="macro-undeploy-jbossws">
<attribute name="defaultconf"/>
<attribute name="targetdir"/>
<sequential>
@@ -399,32 +415,5 @@
</sequential>
</macrodef>
-
- <macrodef name="macro-undeploy-jbossws50">
- <attribute name="defaultconf"/>
- <attribute name="targetdir"/>
- <sequential>
- <loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
- <loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
-
- <property name="jboss.server.home" value="@{targetdir}/../.."/>
- <property name="jboss.home" value="${jboss.server.home}/../.."/>
- <available property="jboss.undeploy.client" file="${jboss.home}/client"/>
- <fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
-
- <!-- delete content of last deployment -->
- <delete>
- <fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
- </delete>
-
- <!-- delete jbossws.sar -->
- <delete dir="@{targetdir}"/>
-
- <!-- delete juddi-service.sar -->
- <delete dir="@{targetdir}/../juddi-service.sar"/>
-
- </sequential>
- </macrodef>
-
</project>
More information about the jboss-cvs-commits
mailing list