我们使用karaf容器(4.1.4)并部署了rest服务,使用camelcxf发布端点。
root@karaf()> cxf:list-endpoints
Name │ State │ Address │ BusID
───────────────────────────┼─────────┼───────────────────────────┼────────────────────────────────────────────────────────────
TestService │ Started │ /PollerService/ │ com.java.test.pack.pollerservice
root@karaf()> http:list
ID │ Servlet │ Servlet-Name │ State │ Alias │ Url
───┼─────────────────────┼────────────────────────────┼─────────────┼───────┼─────────
69 │ CXFNonSpringServlet │ cxf-osgi-transport-servlet │ Deployed │ /test │ [/test/*]
root@karaf()>
服务中一切正常。我们试图通过将请求数限制为50(只是一些数字)来实现过载保护。我们尝试在jetty.xml中添加配置,并在etc/org.apache.cxf.workqueues-default.cfg中添加配置文件,配置如下
org.apache.cxf.workqueue.default.highWaterMark defines the maximum number of threads.
org.apache.cxf.workqueue.default.lowWaterMark defines the minimum number of threads.
org.apache.cxf.workqueue.default.initialSize defines the initial number of threads.
从源头https://karaf.apache.org/manual/latest/. 在这种情况下,两者都不起作用。是否可以按数字更改xml/cfg文件中的配置,以便服务器拒绝过载请求。
目的是通过使用配置文件限制请求的数量来保护服务器。我们计划通过实现containerrequestfilter来实现这一点。任何建议/链接将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!