[jboss-cvs] JBossAS SVN: r69298 - in trunk/messaging: src/etc and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 24 12:27:12 EST 2008


Author: scott.stark at jboss.org
Date: 2008-01-24 12:27:12 -0500 (Thu, 24 Jan 2008)
New Revision: 69298

Added:
   trunk/messaging/README.txt
   trunk/messaging/src/etc/aspects/
   trunk/messaging/src/etc/aspects/jboss-aop-messaging-client.xml
   trunk/messaging/src/etc/aspects/jboss-aop-messaging-server.xml
   trunk/messaging/src/etc/xmbean/
   trunk/messaging/src/etc/xmbean/ServerPeer-xmbean.xml
   trunk/messaging/src/main/org/jboss/jms/server/jbosssx/
   trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStore.java
   trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStoreMBean.java
Removed:
   trunk/messaging/src/etc/.Refactory/
Modified:
   trunk/messaging/.classpath
   trunk/messaging/build.xml
Log:
Checkpoint the security integration work

Modified: trunk/messaging/.classpath
===================================================================
--- trunk/messaging/.classpath	2008-01-24 17:17:52 UTC (rev 69297)
+++ trunk/messaging/.classpath	2008-01-24 17:27:12 UTC (rev 69298)
@@ -15,5 +15,8 @@
 	<classpathentry kind="lib" path="/thirdparty/jboss/messaging/lib/jboss-messaging.jar" sourcepath="/thirdparty/jboss/messaging/lib/jboss-messaging-src.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-javaee/lib/jboss-javaee.jar" sourcepath="/thirdparty/jboss/jboss-javaee/lib/jboss-javaee-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-managed.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-managed-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-security-spi/lib/jboss-security-spi.jar" sourcepath="/thirdparty/jboss/jboss-security-spi/lib/jboss-security-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jbosssx/lib/jbosssx.jar" sourcepath="/thirdparty/jboss/jbosssx/lib/jbosssx-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-jaspi-api/lib/jboss-jaspi-api.jar" sourcepath="/thirdparty/jboss/jboss-jaspi-api/lib/jboss-jaspi-api-sources.jar"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>
 </classpath>

Added: trunk/messaging/README.txt
===================================================================
--- trunk/messaging/README.txt	                        (rev 0)
+++ trunk/messaging/README.txt	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,9 @@
+$Id:$
+The messaging project deals with integration of the JBoss Messaging code into
+the JBossAS server.
+
+src/etc/aspects - aop aspects that apply to messaging client/server classes
+src/etc/deploy/clustered - 
+src/etc/deploy/common - 
+src/etc/deploy/non-clustered - 
+src/etc/xmbean - XMBean descriptors

Modified: trunk/messaging/build.xml
===================================================================
--- trunk/messaging/build.xml	2008-01-24 17:17:52 UTC (rev 69297)
+++ trunk/messaging/build.xml	2008-01-24 17:27:12 UTC (rev 69298)
@@ -86,6 +86,9 @@
       <path refid="jboss.systemjmx.classpath"/>      
       <path refid="jboss.systemjmx.classpath"/>      
       <path refid="jboss.microcontainer.classpath"/>      
+      <path refid="jboss.jbosssx.classpath"/>      
+      <path refid="jboss.jboss.jaspi.api.classpath"/>      
+      <path refid="jboss.jboss.security.spi.classpath"/>      
     </path>
 
     <!-- ===== -->

Added: trunk/messaging/src/etc/aspects/jboss-aop-messaging-client.xml
===================================================================
--- trunk/messaging/src/etc/aspects/jboss-aop-messaging-client.xml	                        (rev 0)
+++ trunk/messaging/src/etc/aspects/jboss-aop-messaging-client.xml	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE aop PUBLIC
+   "-//JBoss//DTD JBOSS AOP 1.0//EN"
+   "http://www.jboss.org/aop/dtd/jboss-aop_1_0.dtd">
+<!-- Client aspects for the jbossas server environment
+    $Id$
+-->
+<aop>
+    <interceptor class="org.jboss.jms.client.container.ClosedInterceptor" scope="PER_INSTANCE"/>                  	
+    <interceptor class="org.jboss.jms.client.container.FailoverValveInterceptor" scope="PER_INSTANCE"/>
+    
+    <aspect class="org.jboss.jms.client.container.StateCreationAspect" scope="PER_VM"/>
+    <aspect class="org.jboss.jms.client.container.ConsumerAspect" scope="PER_VM"/>
+    <aspect class="org.jboss.jms.client.container.ProducerAspect" scope="PER_VM"/>
+    <aspect class="org.jboss.jms.client.container.SessionAspect" scope="PER_VM"/>
+    <aspect class="org.jboss.jms.client.container.BrowserAspect" scope="PER_INSTANCE"/>
+    <aspect class="org.jboss.jms.client.container.ConnectionAspect" scope="PER_INSTANCE"/>
+    <aspect class="org.jboss.jms.client.container.ClusteringAspect" scope="PER_INSTANCE"/>
+    
+    <!--
+        Clustered ConnectionFactory Stack
+    -->
+    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate->createConnectionDelegate(..))">
+        <advice name="handleCreateConnectionDelegate" aspect="org.jboss.jms.client.container.ClusteringAspect"/>
+    </bind>
+    
+    <!--
+        (Non-clustered) ConnectionFactory Stack
+    -->
+    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate->createConnectionDelegate(..))">
+        <advice name="handleCreateConnectionDelegate" aspect="org.jboss.jms.client.container.StateCreationAspect"/>
+    </bind>
+    
+    <!--
+        Connection Stack
+    -->
+    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->$implementing{org.jboss.jms.delegate.ConnectionDelegate}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.ClosedInterceptor"/>                     
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->$implementing{org.jboss.jms.delegate.ConnectionEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.FailoverValveInterceptor"/>         
+    </bind>      
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->start())">
+        <advice name="handleStart" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->stop())">
+        <advice name="handleStop" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->createConnectionConsumer(..))">
+        <advice name="handleCreateConnectionConsumer" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->getClientID())">
+        <advice name="handleGetClientID" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->setClientID(..))">
+        <advice name="handleSetClientID" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->getExceptionListener())">
+        <advice name="handleGetExceptionListener" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->setExceptionListener(..))">
+        <advice name="handleSetExceptionListener" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->getConnectionMetaData())">
+        <advice name="handleGetConnectionMetaData" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->createSessionDelegate(..))">
+        <advice name="handleCreateSessionDelegate" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>         
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->close())">
+        <advice name="handleClose" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->registerFailoverListener(..))">
+        <advice name="handleRegisterFailoverListener" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->unregisterFailoverListener(..))">
+        <advice name="handleUnregisterFailoverListener" aspect="org.jboss.jms.client.container.ConnectionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConnectionDelegate->createSessionDelegate(..))">
+        <advice name="handleCreateSessionDelegate" aspect="org.jboss.jms.client.container.StateCreationAspect"/>
+    </bind>
+    
+    <!--
+        Session Stack
+    -->
+    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->$implementing{org.jboss.jms.delegate.SessionDelegate}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.ClosedInterceptor"/>                   
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->$implementing{org.jboss.jms.delegate.SessionEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.FailoverValveInterceptor"/>         
+    </bind> 
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createMessage())">
+        <advice name="handleCreateMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createBytesMessage())">
+        <advice name="handleCreateBytesMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createMapMessage())">
+        <advice name="handleCreateMapMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createObjectMessage(..))">
+        <advice name="handleCreateObjectMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createStreamMessage())">
+        <advice name="handleCreateStreamMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createTextMessage(..))">
+        <advice name="handleCreateTextMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->setMessageListener(..))">
+        <advice name="handleSetMessageListener" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->getMessageListener())">
+        <advice name="handleGetMessageListener" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->addAsfMessage(..))">
+        <advice name="handleAddAsfMessage" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->run())">
+        <advice name="handleRun" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>      
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->getAcknowledgeMode())">
+        <advice name="handleGetAcknowledgeMode" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->getTransacted())">
+        <advice name="handleGetTransacted" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->getXAResource())">
+        <advice name="handleGetXAResource" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->preDeliver(..))">
+        <advice name="handlePreDeliver" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->postDeliver(..))">
+        <advice name="handlePostDeliver" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->acknowledgeAll(..))">
+        <advice name="handleAcknowledgeAll" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->recover())">
+        <advice name="handleRecover" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->redeliver(..))">
+        <advice name="handleRedeliver" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->closing(..))">
+        <advice name="handleClosing" aspect="org.jboss.jms.client.container.SessionAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->close())">
+        <advice name="handleClose" aspect="org.jboss.jms.client.container.SessionAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->commit())">
+        <advice name="handleCommit" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->rollback())">
+        <advice name="handleRollback" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->send(..))">
+        <advice name="handleSend" aspect="org.jboss.jms.client.container.SessionAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createConsumerDelegate(..))">
+        <advice name="handleCreateConsumerDelegate" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createConsumerDelegate(..))">
+        <advice name="handleCreateConsumerDelegate" aspect="org.jboss.jms.client.container.StateCreationAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createProducerDelegate(..))">
+        <advice name="handleCreateProducerDelegate" aspect="org.jboss.jms.client.container.StateCreationAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientSessionDelegate->createBrowserDelegate(..))">
+        <advice name="handleCreateBrowserDelegate" aspect="org.jboss.jms.client.container.StateCreationAspect"/>
+    </bind>
+    
+    <!--
+        Consumer Stack
+    -->
+    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->$implementing{org.jboss.jms.delegate.ConsumerDelegate}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.ClosedInterceptor"/>                
+    </bind>  
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->$implementing{org.jboss.jms.delegate.ConsumerEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.FailoverValveInterceptor"/>         
+    </bind>         
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->getMessageListener())">
+        <advice name="handleGetMessageListener" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->setMessageListener(..))">
+        <advice name="handleSetMessageListener" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->receive(..))">
+        <advice name="handleReceive" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>  
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->receiveNoWait())">
+        <advice name="handleReceiveNoWait" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->closing(..))">
+        <advice name="handleClosing" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->getDestination())">
+        <advice name="handleGetDestination" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->getNoLocal())">
+        <advice name="handleGetNoLocal" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientConsumerDelegate->getMessageSelector())">
+        <advice name="handleGetMessageSelector" aspect="org.jboss.jms.client.container.ConsumerAspect"/>         
+    </bind>      
+    
+    
+    <!--
+        Producer Stack
+    -->   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->$implementing{org.jboss.jms.delegate.ProducerDelegate}(..))">   
+        <interceptor-ref name="org.jboss.jms.client.container.ClosedInterceptor"/>        
+    </bind>        
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getDeliveryMode())">
+        <advice name="handleGetDeliveryMode" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>     
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getDestination())">
+        <advice name="handleGetDestination" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getDisableMessageID())">
+        <advice name="handleGetDisableMessageID" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getDisableMessageTimestamp())">
+        <advice name="handleGetDisableMessageTimestamp" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getPriority())">
+        <advice name="handleGetPriority" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->getTimeToLive())">
+        <advice name="handleGetTimeToLive" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->send(..))">
+        <advice name="handleSend" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setDeliveryMode(..))">
+        <advice name="handleSetDeliveryMode" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setDestination(..))">
+        <advice name="handleSetDestination" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setDisableMessageID(..))">
+        <advice name="handleSetDisableMessageID" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>    
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setDisableMessageTimestamp(..))">
+        <advice name="handleSetDisableMessageTimestamp" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setPriority(..))">
+        <advice name="handleSetPriority" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind>      
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->setTimeToLive(..))">
+        <advice name="handleSetTimeToLive" aspect="org.jboss.jms.client.container.ProducerAspect"/>         
+    </bind> 
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->closing(..))">
+        <advice name="handleClosing" aspect="org.jboss.jms.client.container.ProducerAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientProducerDelegate->close())">
+        <advice name="handleClose" aspect="org.jboss.jms.client.container.ProducerAspect"/>
+    </bind>    
+    <!-- Producers never go to the server - so no need for a failover interceptor -->   
+    
+    <!--
+        Browser Stack
+    -->
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientBrowserDelegate->$implementing{org.jboss.jms.delegate.BrowserDelegate}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.ClosedInterceptor"/>      
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientBrowserDelegate->$implementing{org.jboss.jms.delegate.BrowserEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.client.container.FailoverValveInterceptor"/>         
+    </bind>      
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientBrowserDelegate->nextMessage())">
+        <advice name="handleNextMessage" aspect="org.jboss.jms.client.container.BrowserAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.client.delegate.ClientBrowserDelegate->hasNextMessage())">
+        <advice name="handleHasNextMessage" aspect="org.jboss.jms.client.container.BrowserAspect"/>
+    </bind>         
+</aop>

Added: trunk/messaging/src/etc/aspects/jboss-aop-messaging-server.xml
===================================================================
--- trunk/messaging/src/etc/aspects/jboss-aop-messaging-server.xml	                        (rev 0)
+++ trunk/messaging/src/etc/aspects/jboss-aop-messaging-server.xml	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE aop PUBLIC
+   "-//JBoss//DTD JBOSS AOP 1.0//EN"
+   "http://www.jboss.org/aop/dtd/jboss-aop_1_0.dtd">
+<!-- Server aspects for the jbossas server environment
+    $Id$
+-->
+<aop>
+    
+    <interceptor class="org.jboss.jms.server.container.ServerLogInterceptor" scope="PER_VM"/>
+    <interceptor class="org.jboss.jms.server.container.CachingInterceptor" scope="PER_VM"/>      
+    <aspect class="org.jboss.jms.server.container.SecurityAspect" scope="PER_INSTANCE"/>
+    
+    <!-- Connection -->
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.ConnectionAdvised->$implementing{org.jboss.jms.delegate.ConnectionEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.server.container.ServerLogInterceptor"/>
+    </bind>   
+    
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.ConnectionAdvised->sendTransaction(..))">
+        <advice name="handleSendTransaction" aspect="org.jboss.jms.server.container.SecurityAspect"/>
+    </bind>
+    
+    <!-- Session -->
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.SessionAdvised->$implementing{org.jboss.jms.delegate.SessionEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.server.container.ServerLogInterceptor"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.SessionAdvised->createBrowserDelegate(..))">
+        <advice name="handleCreateBrowserDelegate" aspect="org.jboss.jms.server.container.SecurityAspect"/>
+    </bind>
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.SessionAdvised->createConsumerDelegate(..))">
+        <advice name="handleCreateConsumerDelegate" aspect="org.jboss.jms.server.container.SecurityAspect"/>
+    </bind>   
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.SessionAdvised->send(..))">
+        <advice name="handleSend" aspect="org.jboss.jms.server.container.SecurityAspect"/>
+    </bind>
+    
+    <!-- Consumer -->
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.ConsumerAdvised->$implementing{org.jboss.jms.delegate.ConsumerEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.server.container.ServerLogInterceptor"/>
+    </bind>
+    
+    <!-- Browser -->
+    <bind pointcut="execution(* org.jboss.jms.server.endpoint.advised.BrowserAdvised->$implementing{org.jboss.jms.delegate.BrowserEndpoint}(..))">
+        <interceptor-ref name="org.jboss.jms.server.container.ServerLogInterceptor"/>
+    </bind>
+    
+</aop>

Added: trunk/messaging/src/etc/xmbean/ServerPeer-xmbean.xml
===================================================================
--- trunk/messaging/src/etc/xmbean/ServerPeer-xmbean.xml	                        (rev 0)
+++ trunk/messaging/src/etc/xmbean/ServerPeer-xmbean.xml	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,435 @@
+<?xml version="1.0" encoding="UTF-8"?>
+   <!DOCTYPE mbean PUBLIC
+      "-//JBoss//DTD JBOSS XMBEAN 1.2//EN"
+      "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_2.dtd">
+<mbean>
+   <description>JBoss Messaging Server Peer</description>
+   <class>org.jboss.jms.server.ServerPeer</class>
+
+   <!-- Managed constructors -->
+
+   <constructor>
+      <name>ServerPeer</name>
+   </constructor>
+
+   <!-- Managed attributes -->
+
+   <!-- plugins ObjectNames -->
+
+   <attribute access="read-write" getMethod="getPersistenceManager" setMethod="setPersistenceManager">
+      <description>The ObjectName of the persistence manager</description>
+      <name>PersistenceManager</name>
+      <type>javax.management.ObjectName</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="getPostOffice" setMethod="setPostOffice">
+      <description>The ObjectName of the post office</description>
+      <name>PostOffice</name>
+      <type>javax.management.ObjectName</type>
+   </attribute>        
+   
+   <attribute access="read-write" getMethod="getJMSUserManager" setMethod="setJMSUserManager">
+      <description>The ObjectName of the jms user manager</description>
+      <name>JMSUserManager</name>
+      <type>javax.management.ObjectName</type>
+   </attribute>   
+         
+   <!-- instance access -->
+
+   <attribute access="read-only" getMethod="getInstance">
+      <description>The instance to be accessed by select plugins via a typed hard reference</description>
+      <name>Instance</name>
+      <type>java.lang.Object</type>
+   </attribute>
+
+   <!-- regular JMX attributes -->
+
+   <attribute access="read-only" getMethod="getJMSVersion">
+      <description>The version of the JMS specification implemented by this provider</description>
+      <name>JMSVersion</name>
+      <type>java.lang.String</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getJMSMajorVersion">
+      <description>The major version of the JMS specification implemented by this provider</description>
+      <name>JMSMajorVersion</name>
+      <type>int</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getJMSMinorVersion">
+      <description>The minor version of the JMS specification implemented by this provider</description>
+      <name>JMSMinorVersion</name>
+      <type>int</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getJMSProviderName">
+      <description>The JMS provider name</description>
+      <name>JMSProviderName</name>
+      <type>java.lang.String</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getProviderVersion">
+      <description>The fully qualified provider version string</description>
+      <name>ProviderVersion</name>
+      <type>java.lang.String</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getProviderMajorVersion">
+      <description>The JMS provider major version number</description>
+      <name>ProviderMajorVersion</name>
+      <type>int</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getProviderMinorVersion">
+      <description>The JMS provider minor version number</description>
+      <name>ProviderMinorVersion</name>
+      <type>int</type>
+   </attribute>
+   
+   <attribute access="read-only" getMethod="getDestinations">
+      <description>Returns a Set of javax.jms.Destinations (Queues and Topics) containing the current active destinations</description>
+      <name>Destinations</name>
+      <type>java.util.Set</type>
+   </attribute>
+   
+   <attribute access="read-only" getMethod="getMessageCounters">
+      <description>The message counters</description>
+      <name>MessageCounters</name>
+      <type>java.util.List</type>
+   </attribute>
+
+   <attribute access="read-only" getMethod="getMessageStatistics">
+      <description>The message statistics</description>
+      <name>MessageStatistics</name>
+      <type>java.util.List</type>
+   </attribute>
+      
+   <attribute access="read-write" getMethod="getDefaultDLQ" setMethod="setDefaultDLQ">
+      <description>The ObjectName of the default DLQ - used when an individual queue does not specify a DLQ</description>
+      <name>DefaultDLQ</name>
+      <type>javax.management.ObjectName</type>
+   </attribute>  
+   
+   <attribute access="read-write" getMethod="getDefaultExpiryQueue" setMethod="setDefaultExpiryQueue">
+      <description>The ObjectName of the default expiry queue - used when an individual queue does not specify an expiry queue</description>
+      <name>DefaultExpiryQueue</name>
+      <type>javax.management.ObjectName</type>
+   </attribute>   
+
+   <attribute access="read-write" getMethod="getServerPeerID" setMethod="setServerPeerID">
+      <description>The ID of the ServerPeer. Must be unique per JBoss instance</description>
+      <name>ServerPeerID</name>
+      <type>int</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="getDefaultQueueJNDIContext" setMethod="setDefaultQueueJNDIContext">
+      <description>The default JNDI context queues are bound under.</description>
+      <name>DefaultQueueJNDIContext</name>
+      <type>java.lang.String</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="getDefaultTopicJNDIContext" setMethod="setDefaultTopicJNDIContext">
+      <description>The default JNDI context topics are bound under.</description>
+      <name>DefaultTopicJNDIContext</name>
+      <type>java.lang.String</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="getSecurityStore" setMethod="setSecurityStore">
+      <description>The SecurityStore implementation for the server.</description>
+      <name>SecurityStore</name>
+      <type>org.jboss.jms.server.SecurityStore</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="getDefaultMaxDeliveryAttempts" setMethod="setDefaultMaxDeliveryAttempts">
+      <description>The default maximum delivery attempts for destinations, unless overridden on the destination</description>
+      <name>DefaultMaxDeliveryAttempts</name>
+      <type>int</type>
+   </attribute>  
+   
+   <attribute access="read-write" getMethod="getFailoverStartTimeout" setMethod="setFailoverStartTimeout">
+      <description>The maximum amount of time to wait for failover to begin</description>
+      <name>FailoverStartTimeout</name>
+      <type>long</type>
+   </attribute> 
+   
+   <attribute access="read-write" getMethod="getFailoverCompleteTimeout" setMethod="setFailoverCompleteTimeout">
+      <description>The maximum amount of time to wait for failover to complete</description>
+      <name>FailoverCompleteTimeout</name>
+      <type>long</type>
+   </attribute>      
+   
+   <attribute access="read-write" getMethod="getDefaultRedeliveryDelay" setMethod="setDefaultRedeliveryDelay">
+      <description>How long to wait before redelivery, can be overridden on the destination</description>
+      <name>DefaultRedeliveryDelay</name>
+      <type>long</type>
+   </attribute>  
+   
+   <attribute access="read-write" getMethod="getMessageCounterSamplePeriod" setMethod="setMessageCounterSamplePeriod">
+      <description>The period between which the message counter manager enquires for statistics from queues</description>
+      <name>MessageCounterSamplePeriod</name>
+      <type>long</type>
+   </attribute> 
+   
+   <attribute access="read-write" getMethod="getClusterPullConnectionFactoryName" setMethod="setClusterPullConnectionFactoryName">
+      <description>The name of the connection factory used to create connections to pull messages from one node to another</description>
+      <name>ClusterPullConnectionFactoryName</name>
+      <type>java.lang.String</type>
+   </attribute> 
+
+   <attribute access="read-write" getMethod="isDefaultPreserveOrdering" setMethod="setDefaultPreserveOrdering">
+      <description>When pulling messages do we need to preserve the ordering of messages consumed from a particular producer, for a particular consumer?</description>
+      <name>DefaultPreserveOrdering</name>
+      <type>boolean</type>
+   </attribute>    
+   
+   <attribute access="read-write" getMethod="getRecoverDeliveriesTimeout" setMethod="setRecoverDeliveriesTimeout">
+      <description>When a failover occurs the max. amount of time the server will keep messages in its recovery area. waiting for clients to reconnect</description>
+      <name>RecoverDeliveriesTimeout</name>
+      <type>long</type>
+   </attribute> 
+   
+   <attribute access="read-write" getMethod="getDefaultMessageCounterHistoryDayLimit" setMethod="setDefaultMessageCounterHistoryDayLimit">
+      <description>The default max number of messages per day in message counter history</description>
+      <name>DefaultMessageCounterHistoryDayLimit</name>
+      <type>int</type>
+   </attribute>
+
+   <attribute access="read-write" getMethod="isSupportsFailover" setMethod="setSupportsFailover">
+      <description>Should Server Side Failover be executed</description>
+      <name>SupportsFailover</name>
+      <type>boolean</type>
+   </attribute>
+   
+   <attribute access="read-write" getMethod="isStrictTck" setMethod="setStrictTck">
+      <description>Should strict TCK behaviour be always followed?</description>
+      <name>StrictTck</name>
+      <type>boolean</type>
+   </attribute>
+   
+   <attribute access="write-only" setMethod="setSuckerPassword">
+      <description>The password used for message suckers</description>
+      <name>SuckerPassword</name>
+      <type>java.lang.String</type>
+   </attribute>   
+
+
+   <!-- Managed operations -->
+
+   <operation>
+      <description>JBoss Service lifecycle operation</description>
+      <name>create</name>
+   </operation>
+
+   <operation>
+      <description>JBoss Service lifecycle operation</description>
+      <name>start</name>
+   </operation>
+
+   <operation>
+      <description>JBoss Service lifecycle operation</description>
+      <name>stop</name>
+   </operation>
+
+   <operation>
+      <description>JBoss Service lifecycle operation</description>
+      <name>destroy</name>
+   </operation>
+
+   <operation>
+      <description>
+         Deploys a queue with the specified name/JNDI name. The corresponding destination service will be instantiated, created and started.
+      </description>
+      <name>deployQueue</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>jndiName</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>java.lang.String</return-type>
+   </operation>
+   
+   <operation>
+      <description>
+         Deploys a queue with the specified name/JNDI name and paging parameters. The corresponding destination service will be instantiated, created and started.
+      </description>
+      <name>deployQueue</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>jndiName</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>fullSize</name>
+         <type>int</type>
+      </parameter>
+      <parameter>
+         <name>pageSize</name>
+         <type>int</type>
+      </parameter>
+      <parameter>
+         <name>downCacheSize</name>
+         <type>int</type>
+      </parameter>            
+      <return-type>java.lang.String</return-type>
+   </operation>   
+
+   <operation>
+      <description>
+         Undeploys the queue, but does not delete its data from storage.
+      </description>
+      <name>undeployQueue</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>boolean</return-type>
+   </operation>
+   
+   <operation>
+      <description>
+         Undeploys the queue, and deletes its data from storage
+      </description>
+      <name>destroyQueue</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>boolean</return-type>
+   </operation>   
+
+   <operation>
+      <description>
+         Deploys a topic with the specified name/JNDI name. The corresponding destination service will be instantiated, created and started.
+      </description>
+      <name>deployTopic</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>jndiName</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>fullSize</name>
+         <type>int</type>
+      </parameter>
+      <parameter>
+         <name>pageSize</name>
+         <type>int</type>
+      </parameter>
+      <parameter>
+         <name>downCacheSize</name>
+         <type>int</type>
+      </parameter>         
+      <return-type>java.lang.String</return-type>
+   </operation>
+   
+   <operation>
+      <description>
+         Deploys a topic with the specified name/JNDI name and paging parameters. The corresponding destination service will be instantiated, created and started.
+      </description>
+      <name>deployTopic</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <parameter>
+         <name>jndiName</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>java.lang.String</return-type>
+   </operation>   
+
+   <operation>
+      <description>
+         Undeploys the topic, but does not delete all its data from storage
+      </description>
+      <name>undeployTopic</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>boolean</return-type>
+   </operation>
+   
+   <operation>
+      <description>
+      	Undeploys the topic and deletes all its data
+      </description>
+      <name>destroyTopic</name>
+      <parameter>
+         <name>name</name>
+         <type>java.lang.String</type>
+      </parameter>
+      <return-type>boolean</return-type>
+   </operation>   
+   
+   <operation>
+      <description>
+         List all message counters in HTML
+      </description>
+      <name>listMessageCountersAsHTML</name>
+      <return-type>java.lang.String</return-type>
+   </operation>    
+   
+   <operation>
+      <description>
+         Reset all message counters
+      </description>
+      <name>resetAllMessageCounters</name>
+   </operation>  
+   
+   <operation>
+      <description>
+         Reset all message counter histories
+      </description>
+      <name>resetAllMessageCounterHistories</name>
+   </operation>    
+   
+   <operation>
+      <description>
+         Enable message counters
+      </description>
+      <name>enableMessageCounters</name>
+   </operation> 
+   
+   <operation>
+      <description>
+         Disable message counters
+      </description>
+      <name>disableMessageCounters</name>
+   </operation>       
+   
+   <operation>
+      <description>
+         Retrieve list of all prepared transaction ids
+      </description>
+      <name>retrievePreparedTransactions</name>
+      <return-type>java.util.List</return-type>
+   </operation>  
+   
+   <operation>
+      <description>
+         Show of all prepared transaction ids in HTML
+      </description>
+      <name>showPreparedTransactionsAsHTML</name>
+      <return-type>java.lang.String</return-type>
+   </operation>
+
+   <operation>
+      <description>
+         Show of all information about active clients
+      </description>
+      <name>showActiveClientsAsHTML</name>
+      <return-type>java.lang.String</return-type>
+   </operation>
+
+
+</mbean>

Added: trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStore.java
===================================================================
--- trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStore.java	                        (rev 0)
+++ trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStore.java	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,164 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.jms.server.jbosssx;
+
+import java.security.Principal;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.jms.JMSSecurityException;
+import javax.security.auth.Subject;
+
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.RealmMapping;
+import org.jboss.security.SimplePrincipal;
+import org.jboss.jms.server.SecurityStore;
+import org.jboss.jms.server.security.CheckType;
+import org.jboss.jms.server.security.SecurityMetadata;
+import org.w3c.dom.Element;
+
+
+/**
+ * An implementation of the messaging SecurityStore.
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision:$
+ */
+public class MemorySecurityStore
+   implements SecurityStore, MemorySecurityStoreMBean
+{
+   private Map<String, SecurityMetadata> queueSecurityConf
+      = new ConcurrentHashMap<String, SecurityMetadata>();
+   private Map<String, SecurityMetadata> topicSecurityConf
+      = new ConcurrentHashMap<String, SecurityMetadata>();
+   private SecurityMetadata defaultSecurityConfig;
+   private String securityDomain;
+   private String suckerPassword;
+   private AuthenticationManager authenticationMgr;
+   private RealmMapping authorizationMgr;
+
+   public SecurityMetadata getDefaultSecurityConfig()
+   {
+      return defaultSecurityConfig;
+   }
+
+   public void setDefaultSecurityConfig(SecurityMetadata defaultSecurityConfig)
+   {
+      this.defaultSecurityConfig = defaultSecurityConfig;
+   }
+
+   public String getSecurityDomain()
+   {
+      return securityDomain;
+   }
+
+   public void setSecurityDomain(String securityDomain)
+   {
+      this.securityDomain = securityDomain;
+   }
+
+   public String getSuckerPassword()
+   {
+      return suckerPassword;
+   }
+
+   public void setSuckerPassword(String suckerPassword)
+   {
+      this.suckerPassword = suckerPassword;
+   }
+
+   public AuthenticationManager getAuthenticationMgr()
+   {
+      return authenticationMgr;
+   }
+
+   public void setAuthenticationMgr(AuthenticationManager authenticationMgr)
+   {
+      this.authenticationMgr = authenticationMgr;
+   }
+
+   public RealmMapping getAuthorizationMgr()
+   {
+      return authorizationMgr;
+   }
+   public void setAuthorizationMgr(RealmMapping authorizationMgr)
+   {
+      this.authorizationMgr = authorizationMgr;
+   }
+
+   public Subject authenticate(String user, String password)
+      throws JMSSecurityException
+   {
+      Subject subject = new Subject();
+      SimplePrincipal principal = new SimplePrincipal(user);
+      if(authenticationMgr.isValid(principal, password, subject) == false)
+         subject = null;
+      return subject;
+   }
+
+   public boolean authorize(String user, Set rolePrincipals, CheckType checkType)
+   {
+      if (SecurityStore.SUCKER_USER.equals(user))
+      {
+         //The special user SUCKER_USER is used for creating internal connections that suck messages between nodes
+         //It has automatic read/write access to all destinations
+         return (checkType.equals(CheckType.READ) || checkType.equals(CheckType.WRITE));
+      }
+
+      Principal principal = user == null ? null : new SimplePrincipal(user);
+      
+      boolean hasRole = authorizationMgr.doesUserHaveRole(principal, rolePrincipals);
+
+      return hasRole;
+   }
+
+   public void clearSecurityConfig(boolean isQueue, String destName)
+         throws Exception
+   {
+      if(isQueue)
+         queueSecurityConf.remove(destName);
+      else
+         topicSecurityConf.remove(destName);      
+   }
+
+   public SecurityMetadata getSecurityMetadata(boolean isQueue, String destName)
+   {
+      SecurityMetadata smd = defaultSecurityConfig;
+      if(isQueue)
+         smd = queueSecurityConf.get(destName);
+      else
+         smd = topicSecurityConf.get(destName);
+      return smd;
+   }
+
+   public void setSecurityConfig(boolean isQueue, String destName, Element conf)
+         throws Exception
+   {
+      SecurityMetadata smd = new SecurityMetadata(conf);
+      if(isQueue)
+         queueSecurityConf.put(destName, smd);
+      else
+         topicSecurityConf.put(destName, smd);      
+   }
+
+}

Added: trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStoreMBean.java
===================================================================
--- trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStoreMBean.java	                        (rev 0)
+++ trunk/messaging/src/main/org/jboss/jms/server/jbosssx/MemorySecurityStoreMBean.java	2008-01-24 17:27:12 UTC (rev 69298)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.jms.server.jbosssx;
+
+import org.jboss.jms.server.security.SecurityMetadata;
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.RealmMapping;
+
+/**
+ * The mbean interface for MemorySecurityStore
+ * @author Scott.Stark at jboss.org
+ * @version $Revision:$
+ */
+public interface MemorySecurityStoreMBean
+{
+   public SecurityMetadata getDefaultSecurityConfig();
+   public void setDefaultSecurityConfig(SecurityMetadata defaultSecurityConfig);
+
+   public String getSecurityDomain();
+   public void setSecurityDomain(String securityDomain);
+
+   public void setSuckerPassword(String suckerPassword);
+
+   public AuthenticationManager getAuthenticationMgr();
+   public void setAuthenticationMgr(AuthenticationManager authenticationMgr);
+
+   public RealmMapping getAuthorizationMgr();
+   public void setAuthorizationMgr(RealmMapping authorizationMgr);
+}




More information about the jboss-cvs-commits mailing list