weblogic上的java.io.EOFException

时间:2014-06-30 08:57:36

标签: java spring ejb weblogic-10.x stateless

您好我很难为无状态bean(Spring)配置weblogic。我是那个领域的新人。

我有2层申请。服务器(weblogic + DB + java app)和客户端写的swing。在拨打这一行时:

  

getCtx()。lookup(SomeStatelessRemoteHome.class.getName()),SomeStatelessRemoteHome.class);

我收到了这个错误:

Caused by: javax.naming.CommunicationException [Root exception is weblogic.rjvm.PeerGoneException: ; nested exception is: 
    java.io.EOFException]
    at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:74)
    at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:472)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:428)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:412)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at pl.com...SomeStatelessRemoteLbkProxy.<init>(SomeStatelessRemoteLbkProxy.java:49)
    ... 46 more
Caused by: weblogic.rjvm.PeerGoneException: ; nested exception is: 
    java.io.EOFException
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
    at weblogic.jndi.internal.ServerNamingNode_1036_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:424)
    ... 49 more
Caused by: java.io.EOFException
    at weblogic.rjvm.t3.MuxableSocketT3.endOfStream(MuxableSocketT3.java:345)
    at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:827)
    at weblogic.socket.SocketMuxer.deliverEndOfStream(SocketMuxer.java:761)
    at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:958)
    at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:889)
    at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:339)
    at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
    at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

EJB在服务器上自动部署。我使用调试属性运行weblogic,weblogic服务器上的日志中没有任何内容。仅在客户端上显示此堆栈跟踪。

在此异常发生后,weblogic将失去与客户端的所有连接。

我在weblogic上的config.xml是:

<?xml version='1.0' encoding='UTF-8'?>
<domain xmlns="http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd http://xmlns.oracle.com/weblogic/security/extension http://xmlns.oracle.com/weblogic/1.0/security.xsd">
  <name>mydomain</name>
  <domain-version>10.3.2.0</domain-version>
  <security-configuration>
    <name>mydomain</name>
    <realm>
      <sec:authentication-provider xmlns:ext="http://xmlns.oracle.com/weblogic/security/extension" xsi:type="ext:custom-authenticatorType">
        <sec:name>CustomAuthenticator</sec:name>
        <sec:control-flag>SUFFICIENT</sec:control-flag>
        <ext:host>66.66.66.66</ext:host>
        <ext:port>389</ext:port>
        <ext:principal>some_principals_censored</ext:principal>
        <ext:results-time-limit>2000</ext:results-time-limit>
        <ext:connect-timeout>2990</ext:connect-timeout>
        <ext:connection-retry-limit>100</ext:connection-retry-limit>
        <ext:credential-encrypted>some_credentialss_censored</ext:credential-encrypted>
      </sec:authentication-provider>
      <sec:authentication-provider xsi:type="wls:default-authenticatorType"></sec:authentication-provider>
      <sec:authentication-provider xsi:type="wls:default-identity-asserterType">
        <sec:active-type>AuthenticatedUser</sec:active-type>
      </sec:authentication-provider>
      <sec:role-mapper xsi:type="wls:default-role-mapperType"></sec:role-mapper>
      <sec:authorizer xsi:type="wls:default-authorizerType"></sec:authorizer>
      <sec:adjudicator xsi:type="wls:default-adjudicatorType"></sec:adjudicator>
      <sec:credential-mapper xsi:type="wls:default-credential-mapperType"></sec:credential-mapper>
      <sec:cert-path-provider xsi:type="wls:web-logic-cert-path-providerType"></sec:cert-path-provider>
      <sec:cert-path-builder>WebLogicCertPathProvider</sec:cert-path-builder>
      <sec:user-lockout-manager></sec:user-lockout-manager>
      <sec:deploy-role-ignored>false</sec:deploy-role-ignored>
      <sec:deploy-policy-ignored>false</sec:deploy-policy-ignored>
      <sec:security-dd-model>Advanced</sec:security-dd-model>
      <sec:combined-role-mapping-enabled>false</sec:combined-role-mapping-enabled>
      <sec:name>myrealm</sec:name>
    </realm>
    <default-realm>myrealm</default-realm>
    <credential-encrypted>some_credetials</credential-encrypted>
    <web-app-files-case-insensitive>os</web-app-files-case-insensitive>
    <compatibility-connection-filters-enabled>true</compatibility-connection-filters-enabled>
    <node-manager-username>weblogic</node-manager-username>
    <node-manager-password-encrypted>encrypted_pass</node-manager-password-encrypted>
    <enforce-strict-url-pattern>false</enforce-strict-url-pattern>
  </security-configuration>
  <security>
    <name>mydomain</name>
    <realm>wl_default_realm</realm>
    <password-policy>wl_default_password_policy</password-policy>
  </security>
  <jta>
    <name>mydomain</name>
    <timeout-seconds>60000</timeout-seconds>
  </jta>
  <server>
    <name>myserver</name>
    <jms-thread-pool-size>0</jms-thread-pool-size>
    <max-message-size>80000000</max-message-size>
    <complete-message-timeout>480</complete-message-timeout>
    <ssl>
      <name>myserver</name>
      <enabled>false</enabled>
      <identity-and-trust-locations>KeyStores</identity-and-trust-locations>
    </ssl>
    <log>
      <stdout-severity>Warning</stdout-severity>
    </log>
    <execute-queue>
      <name>weblogic.kernel.Default</name>
      <thread-count>100</thread-count>
    </execute-queue>
    <messaging-bridge-thread-pool-size>100</messaging-bridge-thread-pool-size>
    <listen-port>7001</listen-port>
    <listen-address>127.0.0.1</listen-address>
    <xml-registry xsi:nil="true"></xml-registry>
    <xml-entity-cache xsi:nil="true"></xml-entity-cache>
    <extra-ejbc-options>-Xmx1g</extra-ejbc-options>
    <tunneling-enabled>false</tunneling-enabled>
    <staging-mode>stage</staging-mode>
    <server-diagnostic-config>
      <wldf-diagnostic-volume>High</wldf-diagnostic-volume>
    </server-diagnostic-config>
    <transaction-log-jdbc-store>
      <enabled>false</enabled>
    </transaction-log-jdbc-store>
    <data-source>
      <rmi-jdbc-security xsi:nil="true"></rmi-jdbc-security>
    </data-source>
  </server>
  <embedded-ldap>
    <name>mydomain</name>
    <credential-encrypted>some_credentials</credential-encrypted>
  </embedded-ldap>
  <configuration-version>10.3.2.0</configuration-version>
  <app-deployment>
    <name>_appsdir_appear</name>
    <module-type>ear</module-type>
    <source-path>autodeploy\app.ear</source-path>
    <sub-deployment>
        ....Some Ejb libs
    </sub-deployment>
    <deployment-order>100</deployment-order>
    <security-dd-model>Advanced</security-dd-model>
    <staging-mode>stage</staging-mode>
    <cache-in-app-directory>false</cache-in-app-directory>
  </app-deployment>
  <ws-reliable-delivery-policy>
    <name>RMDefaultPolicy</name>
    <jms-server>WSStoreForwardInternalJMSServermyserver</jms-server>
    <default-retry-count>10</default-retry-count>
    <default-time-to-live>60000</default-time-to-live>
  </ws-reliable-delivery-policy>
  <file-realm>
    <name>wl_default_file_realm</name>
  </file-realm>
  <realm>
    <name>wl_default_realm</name>
    <file-realm>wl_default_file_realm</file-realm>
  </realm>
  <password-policy>
    <name>wl_default_password_policy</name>
  </password-policy>
  <jms-server>
    <name>WSStoreForwardInternalJMSServermyserver</name>
    <target>myserver</target>
    <persistent-store>FileStore</persistent-store>
    <allows-persistent-downgrade>true</allows-persistent-downgrade>
    <hosting-temporary-destinations>false</hosting-temporary-destinations>
  </jms-server>
  <jms-server>
    <name>MyJMS Server</name>
    <target>myserver</target>
    <store-enabled>false</store-enabled>
    <allows-persistent-downgrade>true</allows-persistent-downgrade>
    <hosting-temporary-destinations>false</hosting-temporary-destinations>
  </jms-server>
  <web-app-container>
    <relogin-enabled>true</relogin-enabled>
    <allow-all-roles>true</allow-all-roles>
    <filter-dispatched-requests-enabled>true</filter-dispatched-requests-enabled>
    <rtexprvalue-jsp-param-name>true</rtexprvalue-jsp-param-name>
    <jsp-compiler-backwards-compatible>true</jsp-compiler-backwards-compatible>
  </web-app-container>
  <startup-class>
    <name>StartupSerwerCustom</name>
    <target>myserver</target>
    <deployment-order>1</deployment-order>
    <class-name>pl.com...</class-name>
    <load-before-app-deployments>true</load-before-app-deployments>
  </startup-class>
  <startup-class>
    ...other startupclasses
  </startup-class>
  <file-store>
    <name>FileStore</name>
    <directory>rmfilestore</directory>
    <synchronous-write-policy>Direct-Write</synchronous-write-policy>
    <target>myserver</target>
  </file-store>
  <jms-interop-module>
    <name>interop-jms</name>
    <sub-deployment>
      <name>CustomConnectionFactory</name>
      <target>myserver</target>
    </sub-deployment>
    <sub-deployment>
      <name>WSStoreForwardInternalJMSServermyserver</name>
      <target>WSStoreForwardInternalJMSServermyserver</target>
    </sub-deployment>
    <sub-deployment>
      <name>MyJMS Server</name>
      <target>MyJMS Server</target>
    </sub-deployment>
    <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name>
  </jms-interop-module>
  <admin-server-name>myserver</admin-server-name>
  <jdbc-system-resource>
    <name>DS_Server</name>
    <target>myserver</target>
    <descriptor-file-name>jdbc/DS_Server-jdbc.xml</descriptor-file-name>
  </jdbc-system-resource>
</domain>

我已经审查了一点:)。

我希望得到一些帮助。

1 个答案:

答案 0 :(得分:3)

FIXED:

我在Weblogic上添加了调试选项:

-Dweblogic.kernel.debug=true 
-Dweblogic.debug.DebugConnection=true 
-Dweblogic.StdoutDebugEnabled=true 
-Dweblogic.log.LogSeverity=Debug 
-Dweblogic.log.LoggerSeverity=Debug

其中一个jar文件路径错误。所以抛出&#34; ClassNotFoundException&#34;。 Debuging让我找到它...简单的错误是最烦人的;)。