5 Replies Latest reply on Jun 23, 2009 6:03 AM by François LE QUEMENER

    Trying to catch SMTP exception, but leads to SQL exception..

    François LE QUEMENER Newbie

      Hi,
      I'm trying to catch the exception thrown when the SMTP fails. I added an exception handler to my mail node :

      <exception-handler exception-class="java.lang.Exception">
       <action name="InvalidEmailAddressExceptionHandler" class="logica.actions.InvalidEmailAddressExceptionHandler"></action>
       </exception-handler>
      


      Here is my action :

      public class InvalidEmailAddressExceptionHandler implements ActionHandler {
      
       private static final long serialVersionUID = 1L;
      
       public void execute(ExecutionContext executionContext) {
       System.out.println("wrong email");
      
       }
      
      }


      I reach this part of code, but just after this, I get an exception:

      59516 [http-8080-Processor25] WARN org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog - Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==
      59625 [http-8080-Processor25] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 22001
      59625 [http-8080-Processor25] ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation: Data too long for column 'EXCEPTION_' at row 1
      06:39:44,234 ERROR WSCreerDemande:175 - error when processing creerDemande : org.jbpm.graph.def.DelegationException: could not insert: [org.jbpm.graph.log.ActionLog]
      org.jbpm.graph.def.DelegationException: could not insert: [org.jbpm.graph.log.ActionLog]


      The entire exception is here:
      http://pastebin.com/m3b2df339

      I nearly understand that the data sent to the MySQL database leads to an overflow when logging the exception.

      Allthough, the EXCEPTION_ column in jbpm_log is a VARCHAR(4000), and the exception it contains has only 2592 chars. Maybe the problem is not the size, but the text inserted? (charset?!)

      How can I fix the problem? (and what is exactly the problem?)