Some more info: - My Producer's delivery mode is PERSISTANT - I have no consumers who would have taken the messages (and I can see htem when restarting the Master) - attached is my config - but its basically just the given example.
spiderman2 wrote: > > I've gotten the slave to succesfully wait on the db lock. Then it claims > it when I shut the master down :) > > The bad part: I've placed 100 message in the Master's queue before > shutdown. Used Jconsole to verify they're there. When the Slave gets the > lock and becomes broker, Jconsole shows that it has no messages. > > Shouldn't these messages have been failedover to the *new* Master? > > > > > > James.Strachan wrote: >> >> Yes - so fingers crossed once you've got your classpath sorted it should >> be fine >> >> On 2/9/07, spiderman2 <[EMAIL PROTECTED]> wrote: >>> >>> You are right! Thanks! I'm fairly sure this is the problem. I had the >>> datasource commented out! AH! >>> >>> Now I am pointing the #oracle-ds as in the example. My only next issue >>> is >>> adding the 'oracle.jdbc.driver.OracleDriver' to my classpath. I didn't >>> realize this wasn't included in the distrubution and currently get a >>> classNotFound exeception on start up. >>> >>> Behaviour Follow-up Question: Once I get the JDBC Master-Slave scenario >>> running, if I put 10 messages on the Master and then shut it down, >>> should I >>> expect to see (via JConsole) that the slave new Master's >>> TotalMessageCount >>> be populated with 10 messages? >>> >>> (I didn't post my config because I think you've solved that James) >>> >>> >>> James.Strachan wrote: >>> > >>> > That looks like the problem then :) >>> > >>> > If you post the complete XML config you're using we can point out the >>> > mistake. You basically need to refer to the #oracle-ds in your >>> > <jdbcPersistenceAdapter> like the example does... >>> > >>> > <jdbcPersistenceAdapter dataSource="#oracle-ds"/> >>> > >>> > >>> > On 2/9/07, spiderman2 <[EMAIL PROTECTED]> wrote: >>> >> >>> >> I've now tried running the Master and Slave on different hosts, as >>> the >>> >> JDBC >>> >> Master-Slave example intends. I see the same thing. >>> >> >>> >> James, it seems you are right in that they don't seem to be using the >>> >> same >>> >> DB. They are both configured to use: >>> >> >>> >> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" >>> >> destroy-method="close"> >>> >> <property name="driverClassName" >>> >> value="oracle.jdbc.driver.OracleDriver"/> >>> >> <property name="url" value="jdbc:oracle:thin:@ks063:1521:AMQDB"/> >>> >> <property name="username" value="activemq"/> >>> >> <property name="password" value="activemq"/> >>> >> <property name="poolPreparedStatements" value="true"/> >>> >> </bean> >>> >> >>> >> HOWEVER, from the logs I'll show below, they also seem to be using >>> the >>> >> derby >>> >> datasource, and each a different one at that. Showing that both >>> brokers >>> >> are >>> >> becoming masters. >>> >> >>> >> Should I be disabling the JDBCPersistenceAdapter? Or how do I get it >>> to >>> >> share the oracle Database? >>> >> >>> >> EDITED LOGS >>> >> ========== >>> >> >>> >> I start the first broker, Shawn1: >>> >> <snip> >>> >> JDBCPersistenceAdapter - Database driver >>> >> recognized:[apache_derby_embedded_jdbc_driver] >>> >> DefaultDatabaseLocker - Attempting to acquire the exclusive lock >>> to >>> >> become the Master broker >>> >> DefaultDatabaseLocker - Becoming the master on dataSource: >>> >> [EMAIL PROTECTED] >>> >> </snip> >>> >> >>> >> Start up is successul. Now Starting the 2nd Broker, Shawn2: >>> >> >>> >> JDBCPersistenceAdapter - Database driver >>> >> recognized:apache_derby_embedded_jdbc_driver] >>> >> DefaultDatabaseLocker - Attempting to acquire the exclusive lock >>> to >>> >> become the Master broker >>> >> DefaultDatabaseLocker - Becoming the master on dataSource: >>> >> [EMAIL PROTECTED] >>> >> >>> >> Network connection between vm://Shawn2#0 and >>> >> tcp://SGANDHI/192.168.150.118:61616(Shawn1) has been established. >>> >> >>> >> >>> >> >>> >> >>> >> James.Strachan wrote: >>> >> > >>> >> > Note that with JDBC Master/Slave you don't network them together - >>> >> > with JDBC Master/Slave there is no direct master-slave >>> communication. >>> >> > Nor should they be aware of each other, as the slave does not start >>> >> > listening on any sockets until it becomes the master (for JDBC >>> >> > master/slave). >>> >> > >>> >> > Could you show your logs? Particular; when running the master, it >>> >> > should be clear it gets the lock on the database, then the slave >>> >> > clearly waits for the lock? Then when the master is killed it >>> should >>> >> > be clear that the slave takes over right? >>> >> > >>> >> > Both brokers are definitely using the same database right? I'm >>> >> > wondering if for some reason the exclusive locking isn't working >>> >> > >>> >> > On 2/8/07, spiderman2 <[EMAIL PROTECTED]> wrote: >>> >> >> >>> >> >> I'm running the JDBC Master/Slave example as defined on >>> >> >> http://activemq.apache.org/jdbc-master-slave.html Web Docs >>> >> >> >>> >> >> Once they're both running (and logs show they're aware of each >>> other), >>> >> I >>> >> >> put >>> >> >> 100 messages on the Master's Queue. When I shut the Master down, I >>> >> would >>> >> >> expect to see these messages appear on the Slave's queue. But I >>> don't. >>> >> >> >>> >> >> I'm using Jconsole to see the Total Message count. >>> >> >> >>> >> >> MY CONFIG: >>> >> >> ======== >>> >> >> >>> >> >> I'm running both Brokers on the same machine - so I had to change >>> the >>> >> >> following on the slave's config to avoid conflict with the Master: >>> >> >> >>> >> >> TransportConnector default: port to 61617 (Instead of 61616) >>> >> >> TransportConnector stompt: port to 61614 (Instead of 61613) >>> >> >> persistenceAdapter: >>> >> >> jdbcPersistenceAdapter >>> >> >> dataDirectory="${activemq.base}/activemq-data2" instead of data >>> >> >> >>> >> >> >>> >> >> Lastly, I'm using autodiscover: >>> >> >> <networkConnector name="default-nc" uri="multicast://default"/> >>> >> >> >>> >> >> and >>> >> >> >>> >> >> <bean id="oracle-ds" >>> class="org.apache.commons.dbcp.BasicDataSource" >>> >> >> destroy-method="close"> >>> >> >> <property name="driverClassName" >>> >> >> value="oracle.jdbc.driver.OracleDriver"/> >>> >> >> <property name="url" >>> value="jdbc:oracle:thin:@ks063:1521:AMQDB"/> >>> >> >> <property name="username" value="activemq"/> >>> >> >> <property name="password" value="activemq"/> >>> >> >> <property name="poolPreparedStatements" value="true"/> >>> >> >> </bean> >>> >> >> >>> >> >> What am I doing wrong? Or is this correct functionality? >>> >> >> -- >>> >> >> View this message in context: >>> >> >> >>> >> >>> http://www.nabble.com/Failover-Functionality---Master-Slave-tf3196126s2354.html#a8874536 >>> >> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>> >> >> >>> >> >> >>> >> > >>> >> > >>> >> > -- >>> >> > >>> >> > James >>> >> > ------- >>> >> > http://radio.weblogs.com/0112098/ >>> >> > >>> >> > >>> >> >>> >> -- >>> >> View this message in context: >>> >> >>> http://www.nabble.com/Failover-Functionality---Master-Slave-tf3196126s2354.html#a8888358 >>> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>> >> >>> >> >>> > >>> > >>> > -- >>> > >>> > James >>> > ------- >>> > http://radio.weblogs.com/0112098/ >>> > >>> > >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Failover-Functionality---Master-Slave-tf3196126s2354.html#a8892110 >>> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >>> >>> >> >> >> -- >> >> James >> ------- >> http://radio.weblogs.com/0112098/ >> >> > > http://www.nabble.com/file/6326/msjdbc1.xml msjdbc1.xml -- View this message in context: http://www.nabble.com/Failover-Functionality---Master-Slave-tf3196126s2354.html#a8895216 Sent from the ActiveMQ - User mailing list archive at Nabble.com.