You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

JID and its JobScheduler Jobs (/sos/dailyschedule/CheckDaysSchedule and /sos/dailyschedule/CreateDaysSchedule) use Hibernate for database transactions.

If you use PostGres databases then you get the following error because of problem between Hibernate and Postgres, which they should resolve among themselves.

ERROR main (JDBCExceptionReporter.java:234) - Unzulässiger Wert für den Typ int : \037\213\010\000\000\000\000\000\000\003m\217\
313\212\302@\020E\367~E-\023\230\264\325\025|\005\\\210#\014"\263P\\\3110\264\246\214\001\247K\252[\305\277\267\027\003\272\310\24
6\270\\\270\207S\204\226\012\213\205%\260T\225X!\032\244!\354Z\177\224\037\000\330\314\277\026\237\333\325b]L\354\030 D\027y\232\2
56\306\3267\220\2718\365|c\315{\324A\032\021\276H\306\230p\0219\263\376^T\016\034B\326\265\262\246\034\014^\253\021\001\253\212\00
6\310<\337+\314?\240\234\020\334\235\372$\360\337\002\346p\224\253\257\273y\3037\213\245\354\341\3335\255\204~\212\233\303\211\353
kRZI3\363\356\374\010\254\020Y\377Z\237\376\254M\357\011G\272\273\363 \001\000\000.

The reason is, that the hibernate dialect for pgsql does not handle the byte[] type with @LOB annotation correctly. For this, whe had to make the following code chang

All Databases:

 private byte[] log;
 
 @Lob
 @Column(name="`LOG`", nullable=true)
 public byte[] getLog() \{
 return this.log;
 \}

PGSql

 private byte[] log; 
 
 @Column(name="`LOG`", nullable=true)
 public byte[] getLog()
 \{
 return this.log;
 \} 

We have a WORKAROUND:

 ...
 [java]
 class_path = <span style="color:red">$\{SCHEDULER_HOME\}/lib/com.sos.hibernate_pgsql.jar;</span>$\{SCHEDULER_HOME\}/lib/*.jar;$\{SCHEDULER_HOME\}/lib/hibernate/*.jar;$\{SCHEDULER_HOME\}/lib/jetty_ext/*.jar
 ...

Changes in the factory.ini take effect after restart the JobScheduler.

  • No labels