Message:
A new issue has been created in JIRA.
---------------------------------------------------------------------
View the issue:
http://jira.opensymphony.com/secure/ViewIssue.jspa?key=CACHE-55
Here is an overview of the issue:
---------------------------------------------------------------------
Key: CACHE-55
Summary: JMSBroadcastingListener bugs with Weblogic
Type: Bug
Status: Assigned
Priority: Major
Project: OSCache
Components:
Listeners
Versions:
2.0 beta 2
Assignee: Chris Miller
Reporter: Claus Ibsen
Created: Wed, 27 Aug 2003 9:56 PM
Updated: Wed, 27 Aug 2003 9:56 PM
Environment: WindowsXP, Weblogic 7.0 sp2
Description:
OSCache v2.0 beta2
OS: WindowsXP
App server: Weblogic 7.0 sp2
I was trying the JMS clustering support of the flush event notification but got an Exception
from Weblogic when the message was sent to the JMS topic.
Apparently Weblogic does not 'like' this code
//sign the message, with the name of this node
objectMessage.setStringProperty("node.name", clusterNode);
2003-08-27 22:48:58,165 INFO <com.opensymphony.oscache.plugins.clustersupport.AbstractBroadcastingListener> AbstractBroadcastingListener registered
2003-08-27 22:48:58,175 INFO <com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener> Starting JMS clustering (node name=node1, topic=jms/OSCacheTopic, topic factory=TopicConnectionFactory)
2003-08-27 22:50:27,844 DEBUG <com.opensymphony.oscache.plugins.clustersupport.AbstractBroadcastingListener> cacheGroupFushed called (groupName=user-cache)
2003-08-27 22:50:27,864 ERROR <com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener> Cannot send notification type=2, data=user-cache
weblogic.jms.common.MessageFormatException: Illegal property name, 'node.name'
at weblogic.jms.common.MessageImpl.setObjectProperty(MessageImpl.java:958)
at weblogic.jms.common.MessageImpl.setStringProperty(MessageImpl.java:922)
at com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener.sendNotification(JMS10BroadcastingListener.java:174)
at com.opensymphony.oscache.plugins.clustersupport.AbstractBroadcastingListener.cacheGroupFlushed(AbstractBroadcastingListener.java:64)
at com.opensymphony.oscache.base.Cache.dispatchCacheGroupEvent(Cache.java:721)
at com.opensymphony.oscache.base.Cache.flushGroup(Cache.java:420)
at com.opensymphony.oscache.base.Cache.flushGroup(Cache.java:390)
at com.opensymphony.oscache.general.GeneralCacheAdministrator.flushGroup(GeneralCacheAdministrator.java:202)
at com.ibatis.db.sqlmap.cache.oscache.OSCacheController.flush(OSCacheController.java:20)
at com.ibatis.db.sqlmap.cache.CacheModel.flush(CacheModel.java:112)
at com.ibatis.db.sqlmap.cache.CacheModel.onExecuteStatement(CacheModel.java:106)
at com.ibatis.db.sqlmap.MappedStatement.notifyListeners(MappedStatement.java:266)
at com.ibatis.db.sqlmap.MappedStatement.executeUpdate(MappedStatement.java:433)
at com.ibatis.db.sqlmap.SqlMap.executeUpdate(SqlMap.java:620)
at com.ema.UserManager.createUser(UserManager.java:56)
at jsp_servlet.__create_user._jspService(__create_user.java:96)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
So I changed the code to use a different property name without the dot.
I changed the code two places to a different name:
if (!objectMessage.getStringProperty("node_name").equals(clusterNode)) {
objectMessage.setStringProperty("node_name", clusterNode);
Now it works.
2003-08-27 23:06:57,187 DEBUG <com.opensymphony.oscache.base.algorithm.AbstractConcurrentReadCache> getGroup called (group=user-cache)
2003-08-27 23:06:57,187 DEBUG <com.opensymphony.oscache.base.algorithm.AbstractConcurrentReadCache> get called (key=1202104047)
2003-08-27 23:06:57,187 DEBUG <com.opensymphony.oscache.plugins.clustersupport.AbstractBroadcastingListener> cacheGroupFushed called (groupName=user-cache)
2003-08-27 23:06:57,187 DEBUG <com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener> Claus fixed this. START
2003-08-27 23:06:57,187 DEBUG <com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener> Claus fixed this. END
2003-08-27 23:06:57,197 DEBUG <com.opensymphony.oscache.plugins.clustersupport.JMS10BroadcastingListener$1> type=2, data=user-cache
================================================================
Also the javadoc in the JMS10BroadcastingListener.java is wrong for the initialize method.
The parameters for the oscache.properties are wrong in the javadoc. In the actual code some other key names are used. This is also the case for the JMSBroadcastingListener.java.
/Claus
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://jira.opensymphony.com/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.