在iPOJO中管理交易

时间:2016-05-20 07:18:11

标签: java transactions osgi apache-felix ipojo

我定义一个事务是一个组件中的一组连续活动(一个方法或一组方法)。

我写了一个简单的例子如下:

<Endpoints>
<InputEndpoint name="input-endpoint-name" loadBalancerProbe="load-balancer-probe-name" loadBalancerDistribution="sourceIP" protocol="[http|https|tcp|udp]" localPort="local-port-number" port="port-number" certificate="certificate-name" />
</Endpoints>

在此示例中,组件HelloImpl和Client中存在本地事务。我定义系统的全局事务由一组通过所有组件的本地事务组成。

如何在OSGi或iPOJO中管理事务(本例中的全局事务和本地转换)?

此致

1 个答案:

答案 0 :(得分:0)

如示例所示,当客户端调用&#34; client.sayBonjour(client.sayHello(&#34; world&#34;))&#34;在HelloImpl组件上,客户端启动一个事务(T0)来发送&#34; world&#34;然后将sayHello(&#34; world&#34;)的结果发送到HelloImpl组件。收到&#34; world&#34;后,HelloImpl组件启动子事务处理(T1)来处理请求并返回结果&#34; helloworld&#34;对客户。然后HelloImpl组件也接收&#34; helloworld&#34;请求(在方法sayBonjour中),它启动一个新的子事务T2来处理它。如果同时有多个客户端,如何知道T1和T2服务于T0。