我正在寻找一种开箱即用的解决方案,以获得围绕一些SOAP请求的仅服务器端事务。我显然不是在寻找分布式事务或WS-*标准,因为它们改变了客户端的接口,而我只需要它是服务器端的。
因此,对于客户端:
webservice.StartTransaction(); // Or included in DoSomething(...)
webservice.DoSomething(Whatever);
webservice.DoSomethingElse();
webservice.CommitTransaction(); // Or included in DoSomethingElse()
在服务器
为了实现负载平衡,我在四台不同的机器上部署了WebSphere Community (WAS )服务器上的web应用程序。我想在这四个服务器中存储一些常量变量/对象。如果我在一台服务器上更改web应用程序中的变量,则其他三台服务器上的web应用程序应该可以使用相同的副本。由于这些变量/对象与用户会话无关,所以粘性会话在这里不会有帮助。JNDI是最好的解决方案吗?请分享您对任何其他更好的解决方案/技术的了解。
OS: Linux
应用服务器: WebSphere社区版(WAS )。
我有一个客户端应用程序每1秒从url请求一些信息。
在服务器( servlet & JSP应用程序)中,为了避免不必要时的DB访问,实现了下一个解决方案。这里有一个片段:
//a static HashMap where we save the last record inserted in db
public static Map<Long, Long> VALUES = new HashMap<Long, Long>();
// A lastRecordRead sent by the client
if (VALUES.get(id) != last
在具有保存点事务中,我必须与链接服务器中的表进行连接。当我尝试这样做时,我得到了错误消息:
“Cannot use SAVE TRANSACTION within a distributed transaction”
远程表数据很少更改。它几乎是固定的。是否可以告诉SqlServer将此表从事务中排除?我尝试过(NOLOCK)提示,但不能对链接服务器中的表使用此提示。
有人知道一种变通方法吗?我用的是ole SqlServer 2000。