打开spoon一段时间,出项异常java.net.SocketExceptionMESSAGE

yuetushen 发布于 2012/07/27 09:43
阅读 969
收藏 0

用kettle3.2

当打开spoon一段时间,当我想打开transformation时,出现下面的错误。

所以,每次出现这种情况时,我都需要关闭spoon,然后重新打开。这样做非常麻烦

重新运行spoon.bat,就可以,但是一段时间又要重新启动spoon.bat

而且这段时间很短,最长不超过半个小时,也就十来分钟。

是什么原因导致的?怎样解决?

An error occurred executing SQL:
SELECT ID_TRANSFORMATION FROM R_TRANSFORMATION WHERE NAME = ? AND ID_DIRECTORY = ?
Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Software caused connection abort: socket write error

STACKTRACE:

java.net.SocketException: Software caused connection abort: socket write error
 at java.net.SocketOutputStream.socketWrite0(Native Method)
 at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
 at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
 at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
 at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
 at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2739)
 at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1581)
 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)
 at com.mysql.jdbc.Connection.execSQL(Connection.java:3026)
 at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1137)
 at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1231)
 at org.pentaho.di.core.database.Database.openQuery(Database.java:1751)
 at org.pentaho.di.core.database.Database.openQuery(Database.java:1714)
 at org.pentaho.di.core.database.Database.openQuery(Database.java:1709)
 at org.pentaho.di.core.database.Database.getOneRow(Database.java:3496)
 at org.pentaho.di.repository.Repository.getIDWithValue(Repository.java:1093)
 at org.pentaho.di.repository.Repository.getTransformationID(Repository.java:952)
 at org.pentaho.di.ui.spoon.job.JobGraph.openTransformation(JobGraph.java:1711)
 at org.pentaho.di.ui.spoon.job.JobGraph.openTransformation(JobGraph.java:1209)
 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:597)
 at org.pentaho.xul.EventHandler.handleMenuEvent(EventHandler.java:42)
 at org.pentaho.xul.swt.menu.PopupMenu.handleMenuEvent(PopupMenu.java:40)
 at org.pentaho.xul.swt.menu.MenuChoice.handleMenuEvent(MenuChoice.java:77)
 at org.pentaho.xul.swt.menu.MenuChoice.handleEvent(MenuChoice.java:73)
 at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
 at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:945)
 at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:5574)
 at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:412)


** END NESTED EXCEPTION **

 

Last packet sent to the server was 0 ms ago.

加载中
0
Andre.Z
Andre.Z

mysql那边主动断开了连接吧,加上用了连接池又没检查连接有效性。
mysql就这德行,用php的不去关连接,所以默认由mysql那边主动断开。试试改下mysql的参数,通话时长设置长一点呗,或者看看有啥连接有效性检查设置。

0
皮总
皮总
这玩意不稳定, 我也被折腾着
0
y
yuetushen

Thanks your reply!

时长是wait_timeout? 我已经把它设置为28800000,但是没有用。mysql的一些属性也也设大了,还是没有效果

请问连接有效性检查怎样设置?

wait_timeout

0
y
yuetushen

今天试着修改pentaho的连接数据库的配置,有些效果,但是问题还是存在,也不知道改的对不对。

下面是Database Connection 中pooling 的配置

设置连接池

勾选了‘Enable Connection Pooling’ ,修改了‘removeAbandonedTimeout’的值。

0
peterYang614
peterYang614

兄弟,你的问题解决了吗,我遇到同样的问题,

返回顶部
顶部