Marcel Ruff
Sun, 30 Jul 2006 11:32:49 -0700
Thomas, Johann wrote:
Hi Marcel, First of all:Thanks for your answer so late on Friday! (de: Hut ab für den Support!) My problem still is that, while the client _has_ _reconnected_ to the server: - it received a call topublic void reachedAlive( ConnectionStateEnum oldState, I_XmlBlasterAccess connection)- and is publishing successfully (another client "B" reads all the publishes thru' get())- and tells it's ALIVE (m_oXCon.getState()) it still can not get() anything telling it is in offline/polling mode (you saw the stack trace below). So I still wonder where I should search for the error. I will have to test the client persistence first, I suppose, as RAM queuing works. It may be a follow up error I have introduced elsewhere.
Hi again,i have extended xmlBlaster/javaclients/HelloWorld4.java in the current svn to be able to send publish() or get() from command line to simulate manually what you describe.
Here everything works as expected. Please check this out and try, probably your use case is different.Is it possible that you have another XmlBlasterAccess instance zombi-gollum lurking around?
regards Marcel
-- regardsJohann Thomas, jth-----Original message----- Subject: Re: [xmlblaster] Release 1.2 fail-safe: reconnected and publishing, but no sync GET possible ... --------------------------------- The stack trace below tells you that we don't support doing a get() call during we are offline as we currently don't have a way to pass you back the returned messages in async mode (when on reconnect the get()s are send). It would be possible by our client library to deliver those using the update() but this is not implemented, see the table "Client side queuing during reconnect-polling" at http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.failsafe.html#queuing (as noted in the exception below), regards MarcelAt the client side I have configured: ------snip--------- JdbcStorage[Oracle]=org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTabl ePlugin,\ ...\ entriesTableName=ENTRIES,\ dbAdmin=true StoragePlugin[JDBC][1.0]=${JdbcStorage[Oracle]}StoragePlugin[RAM][1.0] =org.xmlBlaster.engine.msgstore.ram.MapPlugin # avoid meat caching! StoragePlugin[CACHE][1.0]=${JdbcStorage[Oracle]} # QueuePlugin[JDBC][1.0]=${JdbcStorage[Oracle]} QueuePlugin[RAM][1.0]=org.xmlBlaster.util.queue.ram.RamQueuePlugin QueuePlugin[CACHE][1.0]=org.xmlBlaster.util.queue.cache.CacheQueueInte rceptorPlugin,persistentQueue=JDBC,transientQueue=RAM JdbcDriver.drivers=\ oracle.jdbc.driver.OracleDriver ------/snap------ Client init: ------snip--------------- // ... qos.setPersistent(true); //... qos.setSessionName(...); // Setup fail-safe handling ...Address addressProp = new Address(m_oXGlob); addressProp.setDelay(4000L); // retry connecting every 4 sec addressProp.setRetries(-1); // -1 == forever addressProp.setPingInterval(0L); // switched off qos.getClientQueueProperty().setMaxEntries(1000); // queue up to 1000 // messages m_oXCon.registerConnectionListener(new I_ConnectionStateListener() {// logs events ... }; m_oXCon.connect(qos, new I_Callback() {public String update(String cbSessionId, UpdateKey updateKey, byte[] content, UpdateQos updateQos){ // ... return ""; } }; ------/snap------ Exception log: ------snip--------- ERROR: trace:errorCode=user.configuration message=#14953M Synchronous GET on oid='null' is not possible in offline/polling mode. See 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html'for more details. at org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.create FakedReturnObjects(ClientDispatchConnectionsHandler.java:157) at org.xmlBlaster.util.dispatch.DispatchManager.putPost(DispatchManager.j ava:572) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQ ueueInterceptorPlugin.java:568) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQ ueueInterceptorPlugin.java:442) at org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.j ava:753) at org.xmlBlaster.client.XmlBlasterAccess.get(XmlBlasterAccess.java:866) ... DEBUG: Connection, state(==m_oXCon.getState()): ALIVE DEBUG: try refresh: trace:errorCode=user.configuration message=#14953M Synchronous GET on oid='__refresh' is not possible in offline/polling mode. See 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html'for more details. at org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.create FakedReturnObjects(ClientDispatchConnectionsHandler.java:157) at org.xmlBlaster.util.dispatch.DispatchManager.putPost(DispatchManager.j ava:572) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQ ueueInterceptorPlugin.java:568) at org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQ ueueInterceptorPlugin.java:442) at org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.j ava:753) at org.xmlBlaster.client.XmlBlasterAccess.get(XmlBlasterAccess.java:866) at org.xmlBlaster.client.XmlBlasterAccess.refreshSession(XmlBlasterAccess .java:416) ------/snap------ Regards, Johann Thomas P.S.: Sorry if it hits the list more than once... -- (sent with Mozilla)