为什么@GZIP 没有在 jboss7.1.0 eap 中返回响应
Why @GZIP is not returning response in jboss7.1.0 eap
我正在尝试从我在 JBoss7.1.0 eap 服务器中部署 war 文件的 Postman 处获得响应。但是我在邮递员中没有得到任何回应。日志中没有错误。
我在回复中使用了@GZIP,我听说 JBoss doesnot support GZIP ,也许这就是它没有给出回复的原因。
相同的 war 文件在旧的 JBoss5.1 服务器中给出响应而没有问题
我有什么选择来解决这个问题。
如果我评论 //@GZIP,它所花费的时间会很长,导致 Postman 本身崩溃。
如何在 JBoss7.1.0
中解决此问题
@POST
@Path("/copyCatalog")
@GZIP
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData getcopyCatalog(CopyCatalogData cd) {
//CopyCatalogResponse response = new CopyCatalogResponse();
//CopyCatalogResponse copyCatalogRes =new CopyCatalogResponse();
com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData copyCatalogRes=
new com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData();
try {
AutoCatRequestProcessorCopyCatalog requestProcessor = new AutoCatRequestProcessorCopyCatalog(cd, copyCatalogRes);
requestProcessor.processRequest();
} catch (AutoCatException e) {
copyCatalogRes.setResponsecode(exceptionMap.get(e.getFaultCode()));
copyCatalogRes.setResponsestatus(e.getFaultMessage());
}
return copyCatalogRes;
}
JBoss服务器
中的日志
15:43:06,773 INFO [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) inside copy catalog functionality
15:43:30,631 INFO [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) New Ctlg_ver_in 16479765
15:43:32,470 INFO [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) Start: ICAMAutoCATCacheSingleton getICAMAutoCATCache()
15:43:32,471 INFO [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) End: ICAMAutoCATCacheSingleton getICAMAutoCATCache()
该问题已使用 googlecode webutilities 解决。
在 pom.xml 中添加依赖项并在 web.xml
中添加过滤器
<dependency>
<groupId>com.googlecode.webutilities</groupId>
<artifactId>webutilities</artifactId>
<version>0.0.8</version>
</dependency>
在web.xml中我们添加了压缩过滤器:
<filter>
<filter-name>compressionFilter</filter-name>
<filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>1024</param-value> <!-- compress anything above 1kb -->
</init-param>
<init-param>
<param-name>ignoreURLPattern</param-name>
<param-value>.*\.(flv|mp3|mpg)</param-value> <!-- regex -->
</init-param>
<init-param>
<param-name>ignoreMIMEPattern</param-name>
<param-value>image/.*|video/.*|multipart/x-gzip</param-value> <!-- ignore -->
</init-param>
<init-param>
<param-name>ignoreUserAgentsPattern</param-name>
<param-value>.*MSIE.*</param-value> <!-- regex -->
</init-param>
</filter>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>/services/xxx/xxxx</url-pattern>
</filter-mapping>
我正在尝试从我在 JBoss7.1.0 eap 服务器中部署 war 文件的 Postman 处获得响应。但是我在邮递员中没有得到任何回应。日志中没有错误。 我在回复中使用了@GZIP,我听说 JBoss doesnot support GZIP ,也许这就是它没有给出回复的原因。 相同的 war 文件在旧的 JBoss5.1 服务器中给出响应而没有问题 我有什么选择来解决这个问题。 如果我评论 //@GZIP,它所花费的时间会很长,导致 Postman 本身崩溃。 如何在 JBoss7.1.0
中解决此问题 @POST
@Path("/copyCatalog")
@GZIP
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData getcopyCatalog(CopyCatalogData cd) {
//CopyCatalogResponse response = new CopyCatalogResponse();
//CopyCatalogResponse copyCatalogRes =new CopyCatalogResponse();
com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData copyCatalogRes=
new com.gee.gecs.cosmos.webservice.autocat.insertupdateresponse.CatalogData();
try {
AutoCatRequestProcessorCopyCatalog requestProcessor = new AutoCatRequestProcessorCopyCatalog(cd, copyCatalogRes);
requestProcessor.processRequest();
} catch (AutoCatException e) {
copyCatalogRes.setResponsecode(exceptionMap.get(e.getFaultCode()));
copyCatalogRes.setResponsestatus(e.getFaultMessage());
}
return copyCatalogRes;
}
JBoss服务器
中的日志15:43:06,773 INFO [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) inside copy catalog functionality
15:43:30,631 INFO [com.gee.gecs.cosmos.webservice.autocat.util.AutoCatRequestProcessorCopyCatalog] (default task-2) New Ctlg_ver_in 16479765
15:43:32,470 INFO [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) Start: ICAMAutoCATCacheSingleton getICAMAutoCATCache()
15:43:32,471 INFO [com.gee.gecs.cosmos.webservice.autocat.cache.ICAMAutoCATCacheSingleton] (default task-2) End: ICAMAutoCATCacheSingleton getICAMAutoCATCache()
该问题已使用 googlecode webutilities 解决。 在 pom.xml 中添加依赖项并在 web.xml
中添加过滤器<dependency>
<groupId>com.googlecode.webutilities</groupId>
<artifactId>webutilities</artifactId>
<version>0.0.8</version>
</dependency>
在web.xml中我们添加了压缩过滤器:
<filter>
<filter-name>compressionFilter</filter-name>
<filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>1024</param-value> <!-- compress anything above 1kb -->
</init-param>
<init-param>
<param-name>ignoreURLPattern</param-name>
<param-value>.*\.(flv|mp3|mpg)</param-value> <!-- regex -->
</init-param>
<init-param>
<param-name>ignoreMIMEPattern</param-name>
<param-value>image/.*|video/.*|multipart/x-gzip</param-value> <!-- ignore -->
</init-param>
<init-param>
<param-name>ignoreUserAgentsPattern</param-name>
<param-value>.*MSIE.*</param-value> <!-- regex -->
</init-param>
</filter>
<filter-mapping>
<filter-name>compressionFilter</filter-name>
<url-pattern>/services/xxx/xxxx</url-pattern>
</filter-mapping>