Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-9044

Tangosol is trying to store Email object and NotSerializableException is thrown

      This is breaking my ability to send an email through a marco from a Cluster node

      2007-07-30 15:54:43,031 DEBUG [http-8080-Processor4] [workflow.macros.actions.AbstractActionMacro] logMessage Error
       -- url: /confluence/plugins/approvalsworkflow/save.action | userName: auctor | action: save
      (Wrapped) java.io.NotSerializableException: com.atlassian.mail.Email
              at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
              at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
              at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
              at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
              at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
              at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
              at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
              at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
              at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
              at com.tangosol.util.ExternalizableHelper.writeSerializable(ExternalizableHelper.java:2100)
              at com.tangosol.util.ExternalizableHelper.internalWriteObject(ExternalizableHelper.java:2481)
              at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:166)
              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.ReplicatedCache.requestUpdate(ReplicatedCache.CDB:21)
              at com.tangosol.coherence.component.util.daemon.queueProcessor.service.ReplicatedCache.updateResource(ReplicatedCache.CDB:68)
              at com.tangosol.coherence.component.util.CacheHandler.put(CacheHandler.CDB:11)
              at com.tangosol.coherence.component.util.CacheHandler.put(CacheHandler.CDB:1)
              at com.tangosol.coherence.component.util.SafeNamedCache.put(SafeNamedCache.CDB:1)
              at com.atlassian.confluence.cluster.tangosol.TangosolClusteredFifoBuffer.add(TangosolClusteredFifoBuffer.java:65)
              at com.atlassian.core.task.AbstractTaskQueue.addTask(AbstractTaskQueue.java:73)
              at com.atlassian.core.task.AbstractErrorQueuedTaskQueue.addTask(AbstractErrorQueuedTaskQueue.java:75)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:163)
              at $Proxy44.addTask(Unknown Source)
              at com.atlassian.core.task.DefaultMultiQueueTaskManager.addTask(DefaultMultiQueueTaskManager.java:58)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:163)
              at $Proxy52.addTask(Unknown Source)
              at com.comalatech.confluence.workflow.macros.actions.SendEmailMacro.execute(SendEmailMacro.java:88)
      

      All what I'm doing is this:

          MultiQueueTaskManager taskManager;
          ...
          Email emailMessage = new Email(address);
          emailMessage.setBody(wikiMessage);
          emailMessage.setMimeType("text/html");
          emailMessage.setSubject(subject);
          SingleMailQueueItem queueItem = new SingleMailQueueItem(emailMessage);
          taskManager.addTask("mail",queueItem);
      

          Form Name

            [CONFSERVER-9044] Tangosol is trying to store Email object and NotSerializableException is thrown

            I need to reopen this issue in order to remove the fix-version

            Per Fragemann [Atlassian] added a comment - I need to reopen this issue in order to remove the fix-version

            Matt Ryall added a comment -

            Hi Roberto,

            Sorry for the delayed reply. You can't use that implementation of the MailQueueItem unfortunately, because Email isn't serializable.

            Instead, you should use ConfluenceMailQueueItem.

            Please let me know if that helps.

            Regards,
            Matt

            Matt Ryall added a comment - Hi Roberto, Sorry for the delayed reply. You can't use that implementation of the MailQueueItem unfortunately, because Email isn't serializable. Instead, you should use ConfluenceMailQueueItem . Please let me know if that helps. Regards, Matt

            Problem still there in 2.5.7 Any idea? ETA? comment?

            Roberto Dominguez added a comment - Problem still there in 2.5.7 Any idea? ETA? comment?

              Unassigned Unassigned
              cab5e2ae7e1f Roberto Dominguez
              Affected customers:
              0 This affects my team
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: