[JAVA-923] Storing Spring Integration Messages in mongoDB Created: 13/Aug/13 Updated: 14/Aug/13 Resolved: 14/Aug/13 |
|
| Status: | Closed |
| Project: | Java Driver |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Lukasz Miroslaw | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | spring | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Spring Integration, |
||
| Description |
|
I am adding Spring Integration messages with mongoTemplate.insert(Message m, "collection"). Message contains many different fields such as: {dispatchAsync=protected boolean org.apache.activemq.ActiveMQConnection.dispatchAsync, transportInterruptionProcessingComplete=protected volatile java.util.concurrent.CountDownLatch org.apache.activemq.ActiveMQConnection.transportInterruptionProcessingComplete, optimizedAckScheduledAckInterval=private long org.apache.activemq.ActiveMQConnection.optimizedAckScheduledAckInterval, nestedMapAndListEnabled=private boolean org.apache.activemq.ActiveMQConnection.nestedMapAndListEnabled, userSpecifiedClientID=private boolean org.apache.activemq.ActiveMQConnection.userSpecifiedClientID, exclusiveConsumer=private boolean org.apache.activemq.ActiveMQConnection.exclusiveConsumer, consumerIdGenerator=private final org.apache.activemq.util.LongSequenceGenerator org.apache.activemq.ActiveMQConnection.consumerIdGenerator, producerWindowSize=private int org.apache.activemq.ActiveMQConnection.producerWindowSize, info=private final org.apache.activemq.command.ConnectionInfo org.apache.activemq.ActiveMQConnection.info, connectionAudit=private final org.apache.activemq.ConnectionAudit org.apache.activemq.ActiveMQConnection.connectionAudit, tempDestinationIdGenerator=private final org.apache.activemq.util.LongSequenceGenerator org.apache.activemq.ActiveMQConnection.tempDestinationIdGenerator, disableTimeStampsByDefault=private boolean org.apache.activemq.ActiveMQConnection.disableTimeStampsByDefault, useDedicatedTaskRunner=private boolean org.apache.activemq.ActiveMQConnection.useDedicatedTaskRunner, optimizeAcknowledge=private boolean org.apache.activemq.ActiveMQConnection.optimizeAcknowledge, transformer=private org.apache.activemq.MessageTransformer org.apache.activemq.ActiveMQConnection.transformer, clientInternalExceptionListener=private org.apache.activemq.ClientInternalExceptionListener org.apache.activemq.ActiveMQConnection.clientInternalExceptionListener, producers=private final java.util.concurrent.ConcurrentHashMap org.apache.activemq.ActiveMQConnection.producers, advisoryConsumer=private org.apache.activemq.AdvisoryConsumer org.apache.activemq.ActiveMQConnection.advisoryConsumer, checkForDuplicates=private boolean org.apache.activemq.ActiveMQConnection.checkForDuplicates, transportFailed=private final java.util.concurrent.atomic.AtomicBoolean org.apache.activemq.ActiveMQConnection.transportFailed, scheduler=private org.apache.activemq.thread.Scheduler org.apache.activemq.ActiveMQConnection.scheduler, maxThreadPoolSize=private int org.apache.activemq.ActiveMQConnection.maxThreadPoolSize, transactedIndividualAck=private boolean org.apache.activemq.ActiveMQConnection.transactedIndividualAck, factoryStats=private final org.apache.activemq.management.JMSStatsImpl org.apache.activemq.ActiveMQConnection.factoryStats, timeCreated=private final long org.apache.activemq.ActiveMQConnection.timeCreated, queueOnlyConnection=private boolean org.apache.activemq.ActiveMQConnection.queueOnlyConnection, blobTransferPolicy=private org.apache.activemq.blob.BlobTransferPolicy org.apache.activemq.ActiveMQConnection.blobTransferPolicy, sendAcksAsync=private boolean org.apache.activemq.ActiveMQConnection.sendAcksAsync, producerIdGenerator=private final org.apache.activemq.util.LongSequenceGenerator org.apache.activemq.ActiveMQConnection.producerIdGenerator, consumerFailoverRedeliveryWaitPeriod=private long org.apache.activemq.ActiveMQConnection.consumerFailoverRedeliveryWaitPeriod, protocolVersion=private final java.util.concurrent.atomic.AtomicInteger org.apache.activemq.ActiveMQConnection.protocolVersion, sendTimeout=private int org.apache.activemq.ActiveMQConnection.sendTimeout, transportListeners=private final java.util.concurrent.CopyOnWriteArrayList org.apache.activemq.ActiveMQConnection.transportListeners, connectionSessionId=private final org.apache.activemq.command.SessionId org.apache.activemq.ActiveMQConnection.connectionSessionId, brokerInfoReceived=private final java.util.concurrent.CountDownLatch org.apache.activemq.ActiveMQConnection.brokerInfoReceived, optimizedMessageDispatch=private boolean org.apache.activemq.ActiveMQConnection.optimizedMessageDispatch, localTransactionIdGenerator=private final org.apache.activemq.util.LongSequenceGenerator org.apache.activemq.ActiveMQConnection.localTransactionIdGenerator, firstFailureError=private java.io.IOException org.apache.activemq.ActiveMQConnection.firstFailureError, stats=private final org.apache.activemq.management.JMSConnectionStatsImpl org.apache.activemq.ActiveMQConnection.stats, inputStreams=private final java.util.concurrent.CopyOnWriteArrayList org.apache.activemq.ActiveMQConnection.inputStreams, optimizeAcknowledgeTimeOut=private long org.apache.activemq.ActiveMQConnection.optimizeAcknowledgeTimeOut, objectMessageSerializationDefered=private boolean org.apache.activemq.ActiveMQConnection.objectMessageSerializationDefered, redeliveryPolicyMap=private org.apache.activemq.broker.region.policy.RedeliveryPolicyMap org.apache.activemq.ActiveMQConnection.redeliveryPolicyMap, nonBlockingRedelivery=private boolean org.apache.activemq.ActiveMQConnection.nonBlockingRedelivery, exceptionListener=private javax.jms.ExceptionListener org.apache.activemq.ActiveMQConnection.exceptionListener, clientIdGenerator=private final org.apache.activemq.util.IdGenerator org.apache.activemq.ActiveMQConnection.clientIdGenerator, copyMessageOnSend=private boolean org.apache.activemq.ActiveMQConnection.copyMessageOnSend, sessionTaskRunner=private org.apache.activemq.thread.TaskRunnerFactory org.apache.activemq.ActiveMQConnection.sessionTaskRunner, outputStreams=private final java.util.concurrent.CopyOnWriteArrayList org.apache.activemq.ActiveMQConnection.outputStreams, rejectedTaskHandler=private java.util.concurrent.RejectedExecutionHandler org.apache.activemq.ActiveMQConnection.rejectedTaskHandler, clientIDSet=private boolean org.apache.activemq.ActiveMQConnection.clientIDSet, transport=private final org.apache.activemq.transport.Transport org.apache.activemq.ActiveMQConnection.transport, useCompression=private boolean org.apache.activemq.ActiveMQConnection.useCompression, dispatchers=private final java.util.concurrent.ConcurrentHashMap org.apache.activemq.ActiveMQConnection.dispatchers, closed=private final java.util.concurrent.atomic.AtomicBoolean org.apache.activemq.ActiveMQConnection.closed, warnAboutUnstartedConnectionTimeout=private long org.apache.activemq.ActiveMQConnection.warnAboutUnstartedConnectionTimeout, useRetroactiveConsumer=private boolean org.apache.activemq.ActiveMQConnection.useRetroactiveConsumer, sessions=private final java.util.concurrent.CopyOnWriteArrayList org.apache.activemq.ActiveMQConnection.sessions, isConnectionInfoSentToBroker=private boolean org.apache.activemq.ActiveMQConnection.isConnectionInfoSentToBroker, closeTimeout=private int org.apache.activemq.ActiveMQConnection.closeTimeout, watchTopicAdvisories=private boolean org.apache.activemq.ActiveMQConnection.watchTopicAdvisories, alwaysSyncSend=private boolean org.apache.activemq.ActiveMQConnection.alwaysSyncSend, executor=private final java.util.concurrent.ThreadPoolExecutor org.apache.activemq.ActiveMQConnection.executor, connectionConsumers=private final java.util.concurrent.CopyOnWriteArrayList org.apache.activemq.ActiveMQConnection.connectionConsumers, ensureConnectionInfoSentMutex=private final java.lang.Object org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSentMutex, prefetchPolicy=private org.apache.activemq.ActiveMQPrefetchPolicy org.apache.activemq.ActiveMQConnection.prefetchPolicy, brokerInfo=private org.apache.activemq.command.BrokerInfo org.apache.activemq.ActiveMQConnection.brokerInfo, activeTempDestinations=public final java.util.concurrent.ConcurrentHashMap org.apache.activemq.ActiveMQConnection.activeTempDestinations, messagePrioritySupported=private boolean org.apache.activemq.ActiveMQConnection.messagePrioritySupported, destinationSource=private org.apache.activemq.advisory.DestinationSource org.apache.activemq.ActiveMQConnection.destinationSource, started=private final java.util.concurrent.atomic.AtomicBoolean org.apache.activemq.ActiveMQConnection.started, sessionIdGenerator=private final org.apache.activemq.util.LongSequenceGenerator org.apache.activemq.ActiveMQConnection.sessionIdGenerator, useAsyncSend=private boolean org.apache.activemq.ActiveMQConnection.useAsyncSend, alwaysSessionAsync=protected boolean org.apache.activemq.ActiveMQConnection.alwaysSessionAsync, closing=private final java.util.concurrent.atomic.AtomicBoolean org.apache.activemq.ActiveMQConnection.closing}During debbuging I am entering MappingMongoConverter. For the sessionTaskRunner field Object propertyObj = wrapper.getProperty(prop, prop.getType(), fieldAccessOnly) returns org.apache.activemq.thread.TaskRunnerFactory and then MessageTransformationException is thrown. This is the stacktrace: |
| Comments |
| Comment by Trisha Gee [ 14/Aug/13 ] |
|
Spring issue. |
| Comment by Lukasz Miroslaw [ 14/Aug/13 ] |
|
You are right. Sorry about this post. |
| Comment by Jeffrey Yemin [ 13/Aug/13 ] |
|
This seems like a Spring Integration issue, not a MongoDB Java driver issue. Can you explain why you reported a bug here? |