不是基于Log4j的weblogic中的日志框架吗?这意味着您可以使用JMSAppender(如果可以的话,可能谨慎地包装在Async log4j appender中)并根据需要处理它。
或者,如果你在谈论的OSB报告框架,有几个选项:
- 配置默认JMS reporting provider(使用其希望被设置为东西比更好的底层SOAINFRA数据库默认的Derby实例),然后编写一个MDB,将报告从队列中取出并插入到SAS BigData中。
- 关闭JMS提供程序并使用custom provider,该程序可以执行任何您想要的操作。如果您愿意,您仍然可以执行两个步骤的过程,报告提供程序自己将报告放在JMS队列中,以便快速返回,而不同的MDB将消息关闭并使其保持自己的步调。
我不建议在没有异步步骤的情况下使用Web服务或数据库标注,因为您需要记录和报告非常快,并尽可能使用尽可能短的资源。
当您遇到负载时,您不希望记录到猪线程。由于日志数据库遭受了性能问题,导致大量开放线程尝试登录到线程,从而导致线程匮乏或超时,从而导致更多的错误日志记录,所以我看到整条总线因为一次打嗝而停止运行...
如果您有像JMS队列那样的缓冲区,那么您可以通过提前规划来处理峰值。你可以说“实际上我想要一个包含10,000个消息的JMS队列,并且如果由于任何原因导致溢出,我想(将溢出推送到另一个盒子上的单独队列)或者(过滤掉所有非必要消息)或(抛出新消息)或(你选择的动作)哦,是的,如果日志数据库失败,我会尝试3次提交,如果没有,将它移动到另一个队列中。或者任何你想要的。
我们可以使用JMS和排队发送日志数据到大数据服务器?在这种情况下,Log4j日志记录可能不适用于我们。 所以我可以在java代码中使用java标注实现JMS,使其看起来像它的同步。 或者只是创建一个自定义报告提供程序,它执行相同的作业(使用JMS将日志数据发送到大数据服务器)并替换默认报告提供程序。 这项工作?谢谢。 –
编辑我的主要问题,但总之,是的。 –
非常感谢您的详细解答。 –