I am currently doing a bit of a refactoring, and clustered JBM now runs in the all
configuration in JBAS 4.2.0 :)
(It didn't previously work in all in JBoss 4.0.x)
I have removed the cluster node creation from release-admin.xml since the script was very
brittle since it relied on text pattern matching to replace stuff, which is very hard to
maintain and prone to fail when JBAS config changes without us knowing it.
Now, release-admin.xml simply creates a non clustered config based on another config.
Creating a clustered config can be done very simply as follows:
1) Make sure JBOSS_HOME points to a JBoss-4.2.0.GA installation
2) Create a non clustered config based on "all":
| ant -f release-admin.xml -Dmessaging-config-name=messaging-node0
-Dmessaging-config.source=all
|
3) Ensure the server id in messaging-service.xml is unique (if you have other nodes)
4) replace hsqldb-persistence-service.xml with mysql-clustered-persistence-service.xml
5) Deploy a mysql datasource from jboss-4.2.0.GA/docs/examples/jca
make sure it is binding to DefaultDS
6) Copy the mysql driver into server/messaging-node0/lib
7) If you are running more than config on the same machine use the service binding
manager
Uncomment binding manager service from conf/jboss-service.xml
Specifiy the desired ports range e.g. ports-01
in docs/examples/binding-manager/sample-bindings.xml, make sure the jboss messaging config
looks like:
| <service-config
name="jboss.messaging:service=Connector,transport=bisocket"
|
delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
| <delegate-config>
| <attribute name="Configuration"><![CDATA[
| <config>
| <invoker transport="bisocket">
| <attribute name="marshaller"
isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
| <attribute name="unmarshaller"
isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
| <attribute name="serializationtype"
isParam="true">jms</attribute>
| <attribute name="dataType"
isParam="true">jms</attribute>
| <attribute name="socket.check_connection"
isParam="true">false</attribute>
| <attribute name="timeout"
isParam="true">0</attribute>
| <attribute
name="serverBindAddress">${jboss.bind.address}</attribute>
| <attribute
name="serverBindPort">4457</attribute>
| <attribute
name="leasePeriod">10000</attribute>
| <attribute
name="callbackStore">org.jboss.remoting.callback.CallbackStore</attribute>
| <attribute name="clientSocketClass"
isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
| <attribute
name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
| <attribute
name="callbackErrorsAllowed">1</attribute>
| <attribute name="numberOfRetries"
isParam="true">1</attribute>
| <attribute name="NumberOfCallRetries"
isParam="true">2</attribute>
| <attribute name="clientMaxPoolSize"
isParam="true">50</attribute>
| </invoker>
| <handlers>
| <handler
subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
| </handlers>
| </config>
| ]]></attribute>
| </delegate-config>
| <binding port="4457"/>
| </service-config>
|
| </server>
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045743#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...