[Geoserver-devel] [JIRA] (GEOS-10517) jms-cluster classes missing from XStream security configuration

Kyle Rotte created an issue

GeoServer / BugGEOS-10517

jms-cluster classes missing from XStream security configuration

Issue Type:

BugBug

Affects Versions:

2.21.0

Assignee:

Unassigned

Created:

27/May/22 1:48 AM

Environment:

linux geoserver-2.21.0 geoserver-2.21-SNAPSHOT-jms-cluster-plugin

Priority:

HighestHighest

Reporter:

Kyle Rotte

After setting everything up and getting things up and running… the jms-clustering configuration wouldn’t sync because classes are not added to the XStream security configuration.

javax.jms.JMSException: org.geoserver.cluster.impl.events.configuration.JMSGlobalModifyEvent
	at org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:161)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.thoughtworks.xstream.security.ForbiddenClassException: org.geoserver.cluster.impl.events.configuration.JMSGlobalModifyEvent
	at com.thoughtworks.xstream.security.NoTypePermission.allows(NoTypePermission.java:26)
	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:74)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47)
	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:135)
	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1421)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1399)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1284)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1275)
	at org.geoserver.cluster.impl.handlers.configuration.JMSConfigurationHandler.deserialize(JMSConfigurationHandler.java:42)
	at org.geoserver.cluster.impl.handlers.configuration.JMSConfigurationHandler.deserialize(JMSConfigurationHandler.java:19)
	at org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:155)
	... 9 more
26 003 23:03:50 WARN   [client.JMSContainer] - Setup of JMS message listener invoker failed for destination 'queue://Consumer.f7faa9cccbd2.VirtualTopic.geoserver' - trying to recover. Cause: org.geoserver.cluster.impl.events.configuration.JMSGlobalModifyEvent
26 003 23:03:50 WARN   [client.JMSContainer] - Execution of JMS message listener failed, and no ErrorHandler has been set.
javax.jms.JMSException: org.geoserver.catalog.event.impl.CatalogAddEventImpl
	at org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:161)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696)
	at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.thoughtworks.xstream.security.ForbiddenClassException: org.geoserver.catalog.event.impl.CatalogAddEventImpl
	at com.thoughtworks.xstream.security.NoTypePermission.allows(NoTypePermission.java:26)
	at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:74)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:125)
	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47)
	at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:135)
	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1421)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1399)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1284)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1275)
	at org.geoserver.cluster.impl.handlers.catalog.JMSCatalogEventHandler.deserialize(JMSCatalogEventHandler.java:57)
	at org.geoserver.cluster.impl.handlers.catalog.JMSCatalogEventHandler.deserialize(JMSCatalogEventHandler.java:28)
	at org.geoserver.cluster.client.JMSQueueListener.onMessage(JMSQueueListener.java:155)
	... 9 more

Add Comment

Add Comment

Get Jira notifications on your phone! Download the Jira Cloud app for Android or iOS


This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100198-sha1:b34c10a)

Atlassian logo