我想知道是否有办法对数据库进行asynchronous调用? 例如,假设我有一个需要很长时间处理的大请求,我想发送请求,并在请求返回一个值(通过传递一个监听器/callback或其他)时收到一个通知。 我不想阻止等待数据库回答。 我不认为使用线程池是一个解决scheme,因为它不扩展,在繁重的并发请求的情况下,这将产生大量的线程。 我们正面临networking服务器的这种问题,我们通过使用select / poll / epoll系统调用来find解决scheme,以避免每个连接有一个线程。 我只是想知道如何有一个类似的function与数据库请求? 注:我知道使用FixedThreadPool可能是一个很好的解决方法,但我很惊讶没有人开发出一个真正asynchronous的系统(没有使用额外的线程)。 **更新** 由于缺乏切实可行的解决scheme,我决定自己创build一个库(finagle的一部分): finagle-mysql 。 它基本上解码/解码MySQL的请求/响应,并使用Finagle / Netty下的。 即使有大量的连接,它也能很好地扩展。
shopkeeper表有以下领域: id (bigint),amount (numeric(19,2)),createddate (timestamp) 比方说,我有上表。 我想获取昨天的logging,并通过将金额印在美分生成报告。 一种做法是在我的Java应用程序中执行计算并执行一个简单的查询 Date previousDate ;// $1 calculate in application Date todayDate;// $2 calculate in application select amount where createddate between $1 and $2 然后循环遍历logging,并在我的Java应用程序中将金额转换为分,并生成报告 另一种方式就像在SQL查询本身执行计算: select cast(amount * 100 as int) as "Cents" from shopkeeper where createddate between date_trunc('day', now()) – interval '1 day' and date_trunc('day', now()) 然后遍历logging并生成报告 从某种意义上说,我的所有处理都是在java应用程序中完成的,并且简单的查询被触发。 […]
我想debugging一个Java程序的整个stream程。 eclipse中的F5 (step into)和F6 (step over)有什么区别?
我正在阅读Java EE 6教程,并试图了解无状态和有状态会话bean之间的区别。 如果无状态会话bean在方法调用之间不保留它们的状态,为什么我的程序按照它的方式行事? package mybeans; import javax.ejb.LocalBean; import javax.ejb.Stateless; @LocalBean @Stateless public class MyBean { private int number = 0; public int getNumber() { return number; } public void increment() { this.number++; } } 客户端 import java.io.IOException; import javax.ejb.EJB; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.WebServlet; import mybeans.MyBean; import java.io.PrintWriter; @WebServlet(name = "ServletClient", urlPatterns = […]
在Java中,您经常会看到包含一些元文件的META-INF文件夹。 这个文件夹的目的是什么,我可以放在那里?
我有一个非常大的程序,目前正在使用SWT。 该程序可以在Windows,Mac和Linux上运行,它是一个有很多元素的大型桌面应用程序。 现在SWT有点老了,我想切换到Swing或JavaFX。 我想听听你对三件事的想法。 我主要关心的是桌面GUI应用程序会更好吗? (我在网上看了很多人的build议,JavaFX和Swing一样好,但除了简单的意见之外,我没有看到许多有效的争论)。 它必须在Windows,Mac和一些stream行的Linux发行版上工作。 什么会更干净,更容易维护? 而从零开始构build会更快? 我在我的应用程序中使用MVC methology,如果有任何帮助。
我很难理解这两者之间的相互作用以及它们之间的界限在哪里。 他们重叠? 他们之间是否有冗余? 我知道有两个相关的注释,但我一直没能find一个完整的清单,简要说明。 不知道这是否有助于清除它们之间的差异或重叠。 真的只是困惑。 我认为我相当了解EJB,我想我很难理解CDI究竟带来了什么,以及它如何取代或增强EJB已经提供的东西。
我有一个Java Web应用程序,必须在Win或Linux机器上部署。 我现在想要添加log4j进行日志logging,我想为日志文件使用相对path,因为我不想在每个部署上更改文件path。 容器很可能是Tomcat,但不一定。 这样做的最好方法是什么?
在这种情况下,你使用JPA @JoinTable注解吗?
在Effective Java书中,它指出: 语言规范保证读或写variables是primefaces的,除非variables的types是long或double [JLS,17.4.7]。 在Java编程或一般编程环境中,“primefaces”是指什么?