问题标签 [tomcat-valve]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1620 浏览

java - 如何识别活动(长时间运行)HTTP 请求的 URI?

想象一个 web 应用程序(有时)需要很长时间才能响应一些 HTTP(POST/GET/etc)请求 - 您如何在服务器端找到这样的请求?

到目前为止,我已经使用 tomcat AccessLogValve 来查看“已完成”的请求,但这并不能让我看到“进行中”(卡住)的请求 :(

例如:

  • netstat我能够识别长期存在的套接字,这可以让我计算当前卡住的请求(虽然不是 URI),但是 HTTP 保持活动使这种方法无效

  • kill -3 <server_pid>我可以多次堆栈转储应用程序服务器(

  • 我可以在 Web 应用服务器(替代主机名、克隆证书)前面注入一个路由器/代理,这将向我显示当前正在运行的调用——这不是一个简单的方法

  • 我可能会陷入tcpdump持续运行并解析流量以保留当前运行的 URI 列表,但是如何处理 httpS 呢?

  • 我发现最接近的是 tomcat7 的StuckThreadDetectionValve,它会定期报告长时间运行的调用,但它输出堆栈跟踪(不是 URI)并且不提供“实时”数据(例如,仅定期轮询,淹没日志并让我们查看状态1-60 秒前,但不是“现在”)

也许我只是缺少/忽略了重要/核心/基本的 tomcat 功能之一?或者也许 weblogic(或任何其他应用程序服务器)为此提供了强大的功能?

没有这样简单而重要的功能,我有点迷失了。帮助?请?

0 投票
1 回答
146 浏览

jboss - JBoss AS7 @Inject bean into Valve

是否可以将@Inject无状态会话 bean 转换为 的子类AuthenticatorBase

我使用 JBoss 作为 7.1.1。

我的代码如下所示:

...

使用控制器对象会导致NullPointerException.

0 投票
1 回答
872 浏览

java - 阀门配置在tomcat中不起作用?

我使用 url 访问我的应用程序,即https://myIPAddress:8443/myWebApp/

我创建了myWebApp.xml包含以下上下文元素的文件并将其放在<tomcat_home>\conf\Catalina\localhost\

MySSLAuthenticator.class 位于 jar 文件下,该文件位于<tomcat_home>\lib

但看起来 MySSLAuthenticator 并没有出现,因为我得到以下错误,我看到 SSLAuthenticator 的实例不是 MySSLAuthenticator

我不确定这里缺少什么?tomcat 版本是 6.0.35

0 投票
1 回答
1050 浏览

tomcat - Tomcat 阀门 - java.lang.NoSuchMethodError

雄猫 6.0.36

启动我的 tomcat 时出现 java.lang.NoSuchMethodError。

我的 server.xml 中有这个:

我收到此错误:

0 投票
2 回答
767 浏览

tomcat7 - 无法使自定义阀门工作 Tomcat7

我正在尝试创建一个 Valve 来收集每个服务器请求的一些信息。

我正在关注这个例子:http: //goo.gl/9wwylq

我按照以下步骤操作:

  • 创建一个 Maven Java 应用程序。添加 tomcat-catalina 依赖
  • 创建您的 Java 类并从 ValveBase 扩展它。
  • 实现调用(请求请求,响应响应)
  • 构建您的库 (.jar) 文件
  • 在 ${tomcat.home}/lib 目录中安装库。
  • 配置 server.xml 以使用您的新 Valve。例如:

    阀门类名称="com.bluelotussoftware.tomcat.ProcessingValve"

我试图把它放在主机标签和引擎一中..但似乎没有任何效果,我无法登录,也无法在调试模式下停止..

你们认为我可能会丢失什么吗?

0 投票
2 回答
1245 浏览

java - 扩展 ValveBase 类:java.lang.ClassNotFoundException

我在 java 中创建了一个 web 基础应用程序,我使用了 java 的 ValveBase 类。代码如下:

现在我编译了该文件并创建了该项目的 jar 文件并将其放入服务器的 lib 文件夹中。我更改的 server.xml 文件的一部分:

现在我创建一个新项目并运行它。它给了我如下错误:

0 投票
1 回答
676 浏览

java - 使用 tomcat 阀门重定向 POST 请求

我需要重定向 https://ipaddress/index.jsp to https://ipaddress/v1/index.jsp

Tomcat 版本:7.0.32

我在 server.xml 中配置了一个阀门 <Valve className="com.mycompnay.tomcatvalve.RedirectValve" portal="v1" />

在这里,我有一个扩展 ValveBase 的类,并在匹配一些模式后执行 response.sendRedirect。这适用于 GET 请求。但是如何重定向 POST 请求。

提前致谢

0 投票
1 回答
1092 浏览

mysql - tomcat 7 jdbc访问日志阀不工作

您好我正在尝试使用 db 来访问我的 tomcat 应用程序中的日志记录。

我遵循了tomcat文档。https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/JDBCAccessLogValve.html

服务器似乎可以正常启动,但我没有看到表中创建了任何条目。但我可以看到 tomcat 正在获取连接参数(如果我提供无效的连接参数,服务器不会启动)

这是我用于访问日志记录的 server.xml 配置

我正在使用组合模式,并且创建的表具有文档中指定的确切架构 -

Catalina.out 似乎没有记录任何对此上下文有用的信息。

PS 我知道数据库日志记录有很多故障点,但我的应用程序的主数据库与这个相同。所以故障点是共享的。

0 投票
0 回答
149 浏览

tomcat - 在 AccessLogValve 上设置旋转阈值

我们可以在 AccessLogValve 上设置基于大小的日志轮换,而不是基于天/时间吗?

附加问题:

我在 log4j 的 RollingFileAppender 中寻找最大备份索引标志之类的东西。

我们应该在外部监控以删除 access_log* 文件吗?

0 投票
1 回答
855 浏览

java - 多个 Tomcat 身份验证器阀门

在同一个 Tomcat 上下文配置中是否可以有多个身份验证器阀门?我知道您可以通过 拥有多个领域CombinedRealm,但是不同的身份验证方法呢?

我必须更新一个 Web 应用程序,以便它可以使用新的身份验证源,同时仍然使用旧的身份验证源来回退。

这是我目前在应用程序的 context.xml 中的内容:

似乎NewAuthenticator拒绝了用户的请求,LegacyAuthenticator从未调用过。我想这是预期的行为,但有没有另一种方法可以做到这一点?

细节:

  • 雄猫 6.0
  • 必须使用 Authtenticators,因为两个自定义系统都在 HTTP 请求中设置了确定身份验证成功/失败的值,并且我需要创建自定义 Tomcat 安全主体来存储角色。
  • 两种身份验证源都是自定义的和非标准的。我必须编写自己的身份验证器。