Automatischer E-Mail-Versand scheitert


#1

Situation 1

Verhalten: der Versand der automatisch zu generierenden E-Mails scheitert mit folgender Exception im Serverlog:

java.lang.NumberFormatException: null
	at java.lang.Integer.parseInt(Integer.java:454)
	at java.lang.Integer.valueOf(Integer.java:582)
	at
sernet.gs.server.commands.PrepareNotificationInfo.retrievePersonsDirectlyResponsible(PrepareNotificationInfo.java:301)

Es ist mind. ein Task einer inzwischen gelöschten Person zugewiesen. Beim Versuch die zu finden, bricht der gesamte Mailversand mit dem o.g… Fehler ab.

Lösungsansatz:

  1. Task löschen, der dieser Person zugeordnet ist oder
  2. alle Tasks löschen.

Situation 2

Verhalten: Der Versand der automatisch generierten E-Mails scheitert und im Logfile des verinice-Servers findet sich diese Fehlermeldung:

java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
        at javax.crypto.KeyGenerator.a(DashoA13*..)
        at javax.crypto.KeyGenerator.<init>(DashoA13*..)
        at javax.crypto.KeyGenerator.getInstance(DashoA13*..)
        at com.sun.net.ssl.internal.ssl.JsseJce.getKeyGenerator(JsseJce.java:223)
        at com.sun.net.ssl.internal.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:89)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:744)
        at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:238)
        at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)
        at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
        at gnu.inet.smtp.SMTPConnection.starttls(SMTPConnection.java:647)
        at gnu.inet.smtp.SMTPConnection.starttls(SMTPConnection.java:618)
        at gnu.mail.providers.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:186)
        at javax.mail.Service.connect(Service.java:288)
        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:342)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:357)
        at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:346)
        at sernet.verinice.bpm.NotificationJob.sendNotification(NotificationJob.java:209)

Lösungsansatz: Die JCE Cryptoerweiterungen der JVM müssen zurückgesetzt werden. Dazu müssen im Verzeichnis

$jdkHome/jre/lib/security

die beiden Dateien

  • local_policy.jar
  • US_export_policy.jar

auf Ihre Ursprungsversion zurückgesetzt werden.