小编Dan*_*edo的帖子

使用Java/Jersey作为REST和SOAP的Web服务

我是否可以同时拥有REST和SOAP接口的服务?我目前使用EJB和Jersey在Java中实现了REST服务:

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;  

@Stateless
@Path("test")
public class TestExternalService {

    @EJB
    private com.test.ejb.db.TestService testService;

    @GET
    @Path("/status")
    @Produces("text/*")
    public String status() {
        return "ok";
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在我的类中进行更改以实现SOAP接口?

java rest soap jersey

5
推荐指数
1
解决办法
7998
查看次数

Hazelcast的分布式锁定无法正常工作

我试图测试我的分布式锁实现,但我还没有找到一种方法使其工作.我用两个简单的方法部署了一个REST服务,如下所示:

@GET
@Path("/lock")
@Produces("text/*")
public String lock() throws InterruptedException {
    Lock lock = distributedService.getDistributedLock("test");
    boolean result = lock.tryLock(5, TimeUnit.SECONDS);
    return result ? "locked" : "timeout";
}

@GET
@Path("/unlock")
@Produces("text/*")
public String unlock() {
    Lock lock = distributedService.getDistributedLock("test");
    lock.unlock();
    return "unlocked";
}
Run Code Online (Sandbox Code Playgroud)

所述distributedService对象实现getDistributedLock()方法:

@Override
public Lock getDistributedLock(String lockName) {
    return Hazelcast.getDefaultInstance().getLock(lockName);
}
Run Code Online (Sandbox Code Playgroud)

在hazelcast.xml文件中,我启用了TCP-IP连接并禁用了其他所有内容:

<network>
<port auto-increment="true">5701</port>
<join>
  <multicast enabled="false" />
  <tcp-ip enabled="true">
    <interface>192.168.0.01</interface>
    <interface>192.168.0.02</interface>
  </tcp-ip>
</join>
<interfaces enabled="false" />
<symmetric-encryption enabled="false" />
<asymmetric-encryption enabled="false" />
Run Code Online (Sandbox Code Playgroud)

我在两台机器上部署了应用程序,IP地址对应于.xml文件(192.168.0.01和192.168.0.02),当我从浏览器调用服务时它第一次工作(它锁定并返回"锁定" )每次我调用unlock()方法它都会正确返回(我得到字符串"unlocked")但是在第一次之后,每当我调用lock()方法时,我都会得到一个超时.它看起来不像unlock()方法解锁它.

有人能指出我使用分布式锁定与淡褐色的正确方法吗?

java locking hazelcast

3
推荐指数
1
解决办法
4022
查看次数

标签 统计

java ×2

hazelcast ×1

jersey ×1

locking ×1

rest ×1

soap ×1