草庐IT

asynchronous-logging-with-log

全部标签

Java NIO : How to know when SocketChannel read() is complete with non-blocking I/O

我目前正在使用非阻塞SocketChannel(Java1.6)作为Redis服务器的客户端。Redis直接通过套接字接受纯文本命令,由CRLF终止并以类似方式响应,一个简单的例子:SEND:'PING\r\n'RECV:'+PONG\r\n'Redis还可以返回大量回复(取决于您的请求),其中包含许多以\r\n结尾的数据部分,所有这些都作为单个响应的一部分。我正在使用标准的while(socket.read()>0){//appendbytes}循环从套接字中读取字节并将它们重新组装到客户端回复中。注意:我没有使用选择器,只是连接到服务器的多个客户端SocketChannels,等待

JavaEE6 : using @Asynchronous to speed up the web application. 什么时候?

好想虐@Asynchronous为了加速我的Web应用程序,因此我想更多地了解这一点,以避免错误地使用此注释。所以我知道这个带注释的方法中的业务逻辑将在一个单独的线程中处理,所以用户不必等待。所以我有两种方法可以持久化数据publicvoidpersist(Objectobject){em.persist(object);}@AsynchronouspublicvoidasynPersist(Objectobject){em.persist(object);}所以我有几个场景我想问一下这些场景中的哪一个是不行的1.BisnotdependonAAa=newA();asynPersist

java - 毕竟 log4j 不是线程安全的吗?

(这是在SLES11、Java7、Tomcat6、log4j-1.2.16上)我们使用log4j将不同的内容写入不同的日志文件。我继承了这段代码,所以无论好坏,通用结构都暂时保留在这里。记录器将创建两个日志文件:main.log和stats.log。特定的统计消息通过单独的调用记录到两个记录器(您将在下面看到),并且一大堆其他内容记录到主日志。因此,在我们的所有代码中,您会看到类似Log.logMain(someMessageToLog);的内容。在我们的代码(由多个线程执行)的一个地方有以下内容:StringstatsMessage=createStatsMessage();Log.

java - Log4J 不记录任何内容

我刚刚在工作中选择了一个现有的Web应用程序,它应该使用Log4J记录其Activity。我已经完全按照我被告知的那样配置了我的工作区,其他一切(数据库连接、身份验证等)都工作正常,除了没有任何内容被写入日志文件。其他类似的应用程序登录没有问题。当应用程序启动时,我查看了WebSphere控制台,那里没有任何错误可能表明Log4J没有记录的原因。我向另一位开发人员(他曾经开发过此应用程序,但时间不长,而且比我开发的还过时)提到了这一点,他说这是非常奇怪的行为,但不知道为什么会这样无法记录并且不报告任何错误。我检查了配置文件和属性文件,一切看起来都正常。我怀疑Log4J甚至从未阅读过lo

java - "log4j: Error Could not find value for key log4j.appender.SQL_APPENDER"背后可能的原因是什么

我想知道为什么在部署我的网络应用程序时会出现此错误。log4j:ErrorCouldnotfindvalueforkeylog4j.appender.SQL_APPENDER这是我的log4j.properties文件。log4j.rootLogger=error,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout#PrintthedateinISO8601formatlog4j.appender.s

java - 如何为初学者提供 : Accessing RESTful Web Services with Play Framework 2. 1

我对这个问题中使用的许多概念和技术还很陌生,所以我希望能为社区的初学者提供一些理解和帮助。我正在使用PlayFramework2.1.3版,我需要将数据发布到RESTfulWeb服务,以便它可以插入到远程数据库中。将返回一个XML响应,指示成功或失败。我相信您知道PlayFramework的文档非常缺乏并且对初学者毫无帮助,因此我不确定如何在考虑最佳实践的情况下完成这项任务。我正在寻找这个问题的Java解决方案,我目前没有时间学习Scala语言。我在Web服务方面的经验相当有限,通常我会在我的应用程序中实现DAO设计模式(或根据需要使用许多可用的ORM库之一)并使用JDBC直接连接到数

java - Log4j 为单个类设置日志级别

我在这个包中有包mypack和MyClass。我只想记录此类的信息级别并尝试使用log4j.properties设置它:log4j.debug=truelog4j.rootLogger=ALL,debugLogfilelog4j.rootCategory=,debugLogFile#log4j.category.mypack=INFOlog4j.logger.mypack=INFOlog4j.appender.debugLogfile=org.apache.log4j.RollingFileAppenderlog4j.appender.debugLogfile.File=mylog.l

java - Tomcat : HikariCP issue when deploying two applications with DB connection

我试图在同一个tomcat7实例上部署两个WAR文件(app1.war和app2.war)。我收到此错误:UnabletoregisterMBean[HikariDataSource(HikariPool-0)]withkey'dataSource';nestedexceptionisjavax.management.InstanceAlreadyExistsException:com.zaxxer.hikari:name=dataSource,type=HikariDataSource如果我在tomcat上只部署了一个应用程序,我就不会出现这个错误。有办法解决这个问题吗?

java.lang.NoClassDefFoundError : Lorg/apache/logging/log4j/Logger; but the artifact exists 错误

我正在使用Tomcat部署javawebapp。简而言之,我得到了一个很长的堆栈跟踪:GRAVE:Achildcontainerfailedduringstartjava.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/new-webapp]][...]Causedby:java.lang.NoClassDefF

java - 是否有强大的 java.util.logging 系统日志处理程序实现?

我正在考虑将第3方Java应用程序连接到我们的日志聚合/分析解决方案(可能是Splunk,但我们还没有最终确定我们的选择)。将Splunk代理连接到syslog似乎是最简单的方法,因此我正在寻找一种方法将应用程序日志重定向到服务器上的本地syslog守护进程。Java应用程序使用java.util.logging,不幸的是它没有开箱即用的syslog处理程序(不过我相信log4j有)。有没有经过验证的库可以做到这一点?日志负载不是很大(每个进程每分钟可能有10-20条消息,每个主机最多6个进程)但我关心可靠性和持久性(例如,当守护进程关闭时会发生什么?...)。任何帮助将不胜感激...