2013-05-29 487 views
0

我使用Glassfish的3.1.2.2。我有一个应用程序,它具有一个在类级别设置的TransactionManagementType.BEAN的EJB(称为MyBean)。在商业方法我从数据源连接,设置自动提交虚假的连接上,执行INSERT /删除数据库表/ UPDATE,比承诺在年底。然后,我有独立的类实现的Web服务(称为为MyWebService),使用为myBean调用的业务方法。客户端应用程序是一个独立的Java应用程序,它具有使用MyWebService的WSDL生成的webservice客户端。客户端已将超时设置为10秒。如果对MyWebService的调用需要10秒以上,则客户端会收到一个timout异常。这一切都OK。我的问题是,在Glassfish的日志中我看到,为myBean做了所有的工作,也COMMITED改变,但我没有在数据库中看到的数据。 这让我疯狂!有谁知道发生了什么事?EJB提交的Web服务超时

回答

0

好吧,我发现Web服务的Java EE甚至GlassFish是不是有罪的一方。 有罪的一方是客户端,也不会在数据库上一些更新。客户负责覆盖预期的结果。