[EMAIL PROTECTED] wrote:

>Hi Marcel,
>
>Thanks for your advice !
>
Salut Brome,

the configuration i sent you i have tried on my machine and it worked
fine as expected.
Do you use the latest cvs snapshot?

cvs update -d -P
build.sh delete
build.sh all

(or build.bat on other OS which name i can't remember).

>But I still can't get it to work. Here are several things I've noticed :
>
>- if I start server A using parameter '-call[core] true', clients can't
>subscribe using this server : I get a NullPointerException.
>
Strange, please send me the stack trace (if you use the newest cvs code).
(Please add the OS and JDK version and command line invoked to get an idea)

>- if I start server A without this parameter, the subscription works fine.
>But when a publisher publishes on port 7600, only the server connected to
>port 7600 gets the message. Same thing if a publisher publishes on port
>7601 : only the client connected to 7601 gets the message.
>
Strange again, you should see log output when B connects to A.

>
>A little question about the property file of server A : don't we need to
>tell server A how to find server B ?
>
In this configuration A is master and does not care about his slaves.
B is the first slave (you could add any number of C, D, ...) and the
slave connects to A.
A would only connect to B if B is master of some other messages.

Note that you could switch dirty reads on to increase performance
if many clients are connected to slave B.
(see 
http://www.xmlblaster.org/xmlBlaster/doc/requirements/cluster.dirtyRead.html)

One final idea:
-----------------
Try to run the cluster specific testsuite:

  cd xmlBlaster/testsuite/org/xmlBlaster/clustertest

  java -Djava.compiler= junit.swingui.TestRunner -noloading 
clustertest.AllTests

(you need to have xmlBlaster.jar in the CLASSPATH).

hopefully this helps,

regards,

Marcel

>[EMAIL PROTECTED] wrote:
>
>  
>
>>Hi,
>>
>>I'm currently trying to use 2 XMLBlaster clusters to make clients
>>communicate between 2 different geographical places. Actually, I'm just
>>testing a prototype of this configuration on a single PC, but you get the
>>idea.
>>
>>Like this :
>>
>>
>>                           Cluster A ====================(non reliable
>>connection)================== Cluster B
>>                          /                 \
>>/                  \
>>                        /                     \
>>/                      \
>>              client 1                 client 2
>>client 3                client 4
>>
>>So, basically, what I need is to have all messages transmitted to all
>>clients whatever the domain is, so that each client at any place can
>>receive any message.
>>
>>What would be the best configuration for the servers ? Should I try
>>something with acceptDefault ? Or declare both clusters as masters for all
>>kinds of domain ?
>>
>>So far, the only thing I managed to do was send from client 1 to all
>>clients of cluster B, or from client 1 to all clients of cluster A. But I
>>can't get the message sent to all the clients at once.
>>
>>Do anyone see a simple configuration pattern I could use for this ?
>>
>>    
>>
>Mirroring is not explicitly implemented yet (as nobody needed it up to now)
>but you can simulate it like this:
>
>Save the two attached files to your harddisk, they configure
>two xmlBlaster nodes.
>
>1. Start the servers:
>-----------------------
>
>java -jar ~/xmlBlaster/lib/xmlBlaster.jar -propertyFile A.properties
>-call[core] true
>java -jar ~/xmlBlaster/lib/xmlBlaster.jar -propertyFile B.properties
>
>The first node 'A' is configured as master and listens on port 7600
>The other node 'B' is slave for everything and listens on port 7601
>
>2. Start two subscribers, one for A and one for B:
>--------------------------------------------------------
>
>java org.xmlBlaster.client.reader.SubscribeMessage -xpath
>"/xmlBlaster/key[starts-with(@oid,'HelloFrom')]" -port 7600
>java org.xmlBlaster.client.reader.SubscribeMessage -xpath
>"/xmlBlaster/key[starts-with(@oid,'HelloFrom')]" -port 7601
>
>You can see that they connect to the different xmlBlaster nodes
>subscribing the same
>messages.
>
>3. Start two publishers, one for A and one for B:
>------------------------------------------------------
>
>java org.xmlBlaster.client.feeder.PublishFile -xmlKey "<key
>oid='HelloFromA'/>" -port 7600
>java org.xmlBlaster.client.feeder.PublishFile -xmlKey "<key
>oid='HelloFromB'/>" -port 7601
>
>Here it is: both publisher publish a message and these are received
>by both subscribers.
>
>
>Note:
>------
>I have added support for domain="*" configuration so you don't need
>to play around with domains in your messages.
>You need to checkout the newest from cvs that the above works!
>(or if you don't want to you need to use explicit domains or filtering
>with XPATH
>for cluster setup).
>
>
>regards,
>
>Marcel
>
>
>  
>
>>Thanks,
>>--
>>Brome
>>
>>
>>
>>--
>>DISCLAIMER:
>>This e-mail contains proprietary information some or all of which may be
>>legally privileged. It is for the intended recipient only. If an
>>    
>>
>addressing
>  
>
>>or transmission error has misdirected this e-mail, please notify the
>>    
>>
>author
>  
>
>>by replying to this e-mail. If you are not the intended recipient you must
>>not use, disclose, distribute, copy, print, or rely on this e-mail.
>>
>>
>>
>>
>>
>>    
>>
>
>
>#------------------------------------------------------------------------------
>
># Configures an xmlBlaster node with the name "A"
>#
># Change the hostname='' setting if A is running on another IP,
># for example to hostname='192.168.1.2'
>#
># INVOKE: java org.xmlBlaster.Main -propertyFile A.properties
>#------------------------------------------------------------------------------
>
>
>
># Switch on CORBA driver only, listens on port 7600:
>Protocol.Drivers=IOR:org.xmlBlaster.protocol.corba.CorbaDriver
>Protocol.CallbackDrivers=IOR:org.xmlBlaster.protocol.corba.CallbackCorbaDriver
>
>jacorb.verbosity=0
>ns=false
>port=7600
>
># Configuer cluster - the A node:
>cluster=true
>
>cluster.node.id=A
>#------------------------------------------------------------------------------
>
># Configures an xmlBlaster node with the name "B"
>#
># Change the hostname='' setting if A is running on another IP,
># for example to hostname='192.168.1.2'
>#
># INVOKE: java org.xmlBlaster.Main -propertyFile B.properties
>#------------------------------------------------------------------------------
>
>
>
># Switch on CORBA driver only, listens on port 7601:
>Protocol.Drivers=IOR:org.xmlBlaster.protocol.corba.CorbaDriver
>Protocol.CallbackDrivers=IOR:org.xmlBlaster.protocol.corba.CallbackCorbaDriver
>
>jacorb.verbosity=0
>ns=false
>port=7601
>
># Switch off telnet access, we don't need it
>admin.remoteconsole.port=-1
>
># Example to switch on SOCKET driver only:
>#Protocol.Drivers=SOCKET:org.xmlBlaster.protocol.socket.SocketDriver
>#Protocol.CallbackDrivers=SOCKET:org.xmlBlaster.protocol.socket.CallbackSocketDriver
>
>#socket.port 7501
>
># Configuer cluster - the B node:
>cluster=true
>
>cluster.node.id=B
>
>cluster.node.master[B]=\
>   <clusternode id='B'>\
>      <master type='DomainToMaster' acceptDefault='false'/>\
>   </clusternode>
>
>
># Configure cluster - how to find A:
>cluster.node[A]=\
>   <clusternode id='A'>\
>      <info>\
>         <address type='IOR' hostname='' port='7600'/>\
>      </info>\
>      <master type='DomainToMaster'>\
>         <key queryType='DOMAIN' domain='*'/>\
>      </master>\
>   </clusternode>
>
>
>
>
>
>
>
>--
>DISCLAIMER:
>This e-mail contains proprietary information some or all of which may be
>legally privileged. It is for the intended recipient only. If an addressing
>or transmission error has misdirected this e-mail, please notify the author
>by replying to this e-mail. If you are not the intended recipient you must
>not use, disclose, distribute, copy, print, or rely on this e-mail.
>
>
>
>  
>



Reply via email to