严重:Web应用程序[/ MyWARFile]仍在处理尚未完成的请求

时间:2014-10-01 11:07:09

标签: web-services hibernate java-ee

参考Vogella

我正在尝试简单的事情。 hibernate初始化在DeviceDetails.getInstance()单例类中完成一次。我试图按照Vogella教程来创建一个对象并重用它。

web服务

    @POST
    @Path("Request")
    @Consumes({ MediaType.APPLICATION_JSON })
    public Response post(JAXBElement<CDeviceDetails> device) {
    String deviceUniqueString = null;
    CDeviceDetails deviceDetails = (CDeviceDetails) device.getValue();
    deviceUniqueString = HibernateDAO.instance.getDeviceDetails().insertRow(deviceDetails, false);
    if (deviceUniqueString != null) {
        return Response.ok(deviceUniqueString).build();
    } else {
        return Response.serverError().build() ;
    }
    }

DAO课程

public enum HibernateDAO {
    instance;
    public static final String DEVICE_DETAILS = "deviceDetails";
    public static final String CONNECTION_DETAILS = "connectionDetails";
    private Map<String, ReadOnlyOperations> contentProvider = new HashMap<String, ReadOnlyOperations>();

    private HibernateDAO() {
    contentProvider.put(DEVICE_DETAILS, DeviceDetails.getInstance());
    contentProvider
        .put(CONNECTION_DETAILS, ConnectionDetails.getInstance());
    }

    public DeviceDetails getDeviceDetails() {
    return (DeviceDetails) contentProvider.get(DEVICE_DETAILS);
    }

    public ConnectionDetails getConnectionDetails() {
    return (ConnectionDetails) contentProvider.get(CONNECTION_DETAILS);
    }
}

修改

问题: 在catalina日志文件中,我收到了SEVERE: The web application [/MyWARFile] is still processing a request that has yet to finish.

再次编辑

每个Web服务都连接到特定的数据库表。每个Web服务使用一个hibernate对象与该表进行交互,在本例中为DeviceDetails。第一次,DeviceDetails.getInstance,初始化hibernate。

基本上我正在寻找一个持久对象存储来存储对hibernate读写方法的引用。随后,所有Web服务都应从该对象库中获取hibernate的引用并读取/写入数据库。

问题

  1. 有没有办法在WAR文件的加载时初始化hibernate?
  2. 然后存储该hibernate对象的引用,以便稍后在webservice中使用?

0 个答案:

没有答案