Tag: mysql

无法填充池(没有可用的缓冲区)

我正在使用Wildfly 8.2并在打开某个网页时触发一系列数据库请求。 所有查询都通过JPA Criteria API调用,按预期返回结果 – 并且 – 它们都不会发出警告,错误或exception。 这一切都在Parallel Plesk中运行。 现在,我注意到在2到3天内出现以下错误,并且网站无响应。 我重新开始,我再等3天,直到它再次发生(取决于我的请求数量)。 我检查了我的linux服务器上的tcpsndbuf,我注意到它一直处于最大值。 除非我重新启动Wildfly。 显然它无法释放连接。 连接由JPA / Hibernate和Wildfly容器管理。 我不做任何特殊或自定义的交易处理,例如开盘,收盘。 等我把它留给了Wildfly。 我正在使用的MySQL驱动程序是5.1.21(mysql-connector-java-5.1.21-bin.jar) 在standalone.xml中,我定义了以下数据源数据源值(以及其他值): TRANSACTION_READ_COMMITTED 3 10 32 true </statement 有没有人经历过相同的tcpsndbuf值(或这个错误)的上升? 如果您需要更多配置或日志文件,请告诉我们。 谢谢! 更新尽管有以下额外的超时设置,它仍然会进入挂钩。 因此,每当达到最大tcpsndbuf时,它将使用100%的CPU时间。 ,

用于引导我的第一个生产scala项目的框架是什么?

我正在为生产应用程序首次涉足scala。 该应用程序目前打包为war文件。 我的计划是创建一个scala编译工件的jar文件,并将其添加到war文件的lib文件夹中。 我的增强function是通过Jersey公开的mysql支持的应用程序,并将通过HttpClient调用与第三方网站集成。 我知道如何通过普通的java做到这一点。 但是当我在scala中做这件事时,我有几个决定点,我正在pussyfooting。 scala 2.7.7或2.8 RC? JDBC通过querulous这个API准备生产了吗? sbt vs maven。 我对maven很满意。 是否有一个用于HttpClient的scala惯用包装器(或者我应该像在java中一样使用它)? 我很想听听你对scala开始的评论和经验。

Mysql字节数组存储

我有一个用Java创建的字节数组。 它代表某些文件的内容。 我不确切知道这个数组的最大大小。 它可以是不同的尺寸。 我想将它存储在mysql中。 我应该在mysql中使用什么类型的?

处理遗留数据库时,Hibernate会对丢失的行进行扼流

我正在尝试在遗留数据库(仍然有一个遗留的PHP客户端)上实现hibernate,并且遇到了一些问题,因为编写原始应用程序的人不知道他们在做什么。 设置数据库使得所有列都不可为空,因此如果没有记录,则默认外键为0。 此外,它们在表上没有正确的外键,因此有一些具有无效ID。 我没有选项来更改架构或null相应的列。 这是我从hibernate得到的错误: Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.tv.platform.domain.Program#0] 我想要的是一种优雅的方式来处理这个问题,如果该行无效或不存在,该字段将为空,但我没有运气找到如何在文档中处理这个问题。 有小费吗?

C3P0是线程安全的吗?

当我试图在MySQL数据库上使用C3P0执行一些简单的读取(SELECT)操作时,会发生中断exception(java.lang.InterruptedException)。 当我将并行线程数增加到100以上(我尝试使用5,10,20,60和100)时会发生exception。 我执行的语句很简单: SELECT `Model.id` FROM `Model` LIMIT 100; 我的连接是从ComboPooledDataSource汇集的,它使用以下属性配置(另请参阅C3P0手册 ): c3p0.jdbcUrl=jdbc:mysql… c3p0.debugUnreturnedConnectionStackTraces=true c3p0.maxIdleTime=5 c3p0.maxPoolSize=1000 c3p0.minPoolSize=5 c3p0.initialPoolSize=5 c3p0.acquireIncrement=3 c3p0.acquireRetryAttempts=50 c3p0.numHelperThreads=20 c3p0.checkoutTimeout=0 c3p0.testConnectionOnCheckin=true c3p0.testConnectionOnCheckout=true user=*** password=*** 我运行测试的机器上的MySQL服务器配置为接受1024个连接,并且我运行的unit testing成功执行(数据按预期从数据库中检索)。 但是,在C3P0日志文件中,我发现以下警告: 15:36:11,449 WARN BasicResourcePool:1876 – com.mchange.v2.resourcepool.BasicResourcePool@9ba6076 — Thread unexpectedly interrupted while performing an acquisition attempt. java.lang.InterruptedException: sleep interrupted at java.lang.Thread.sleep(Native Method) at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805) at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547) 我想知道这个警告的原因,其次是它对软件稳健性和稳定性的可能影响。 请注意,在使用之后,我会关闭结果集,SQL语句和连接。 最后,一旦测试结束,我通过调用方法ComboPooledDataSource#close()关闭池。 […]

Jetty 7 + MySQL Config

我一直在尝试为Jetty配置一个c3p0数据库连接池,但我一直得到一个ClassNotFoundException: 2010-03-14 19:32:12.028:WARN::Failed startup of context WebAppContext@fccada@fccada/phpMyAdmin,file:/usr/local/jetty/webapps/phpMyAdmin/,file:/usr/local/jetty/webapps/phpMyAdmin/ java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:313) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:266) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90) at org.eclipse.jetty.xml.XmlConfiguration.nodeClass(XmlConfiguration.java:224) at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:187) at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:77) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:975) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:586) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:162) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92) at org.eclipse.jetty.server.Server.doStart(Server.java:228) at […]

如何使用hibernate调用存储过程?

我在使用hibernate和MySQL时遇到了一些问题。 我一直在阅读,但我变得更加困惑,所以我想你可以帮助我理解我接下来应该做什么。 我有一个MySQL数据库,我在其中添加了这个存储过程(感谢Stack Overflow人员) CREATE PROCEDURE BookBed ( OUT oReservaOK boolean, pPaciente varchar(255), pHospital bigint(20)) BEGIN DECLARE NumLeitosDisponiveis INT; DECLARE dt TIMESTAMP; SET dt = (Select now()); SET NumLeitosDisponiveis = (SELECT AVAILABLEBEDCOUNT FROM HOSPITAL WHERE ID = pHospital); IF((SELECT NumLeitosDisponiveis) > 0) THEN BEGIN START TRANSACTION; INSERT INTO RESERVATION(PERSON, HOSPITAL, DATE) VALUES (pPaciente, pHospital, dt); […]

如何让MySQL Connector / J在android上运行?

我有一台在本地Linux机器上运行的MySQL服务器。 我没有遇到任何与它通信和使用MySQL Connector / J通过一个简单的Java程序(在eclipse中运行)执行SQL语句的问题。 这是我简单的Java程序: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.lang.*; public class main{ private static void request(){ String url = “jdbc:mysql://myadress:3306/mydatabase”; String user = “user”; String passwd = “passwd”; Connection conn = null; try{ /* Initializing the connection */ conn = DriverManager.getConnection(url, user, passwd); Statement statement = […]

将tinyint映射为布尔hibernate

我在MySQL表中有一个BOOLEAN类型(TINYINT(1)),我试图在实体中映射布尔字段,但这会产生exception: org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: boolean 我将我的实体中的字段更改为byte并进行相应的更改,使其作为布尔值,我得到: org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: tinyint 我尝试在字段上使用@Type注释: @Type(type = “org.hibernate.type.NumericBooleanType”) 但我得到: org.hibernate.HibernateException: Wrong column type in maegul.users for column admin. Found: bit, expected: integer

从Servlet到JSP显示MySQL查询结果

我试图将查询的结果存储在一个字符串中,并通过将该字符串传递给它来将它们打印到我的JSP页面的底部。 现在,JSP页面最初显示正常,但是当我单击按钮发布命令时没有发生任何事情。 早些时候,当我从一个html页面访问servlet,并使用PrintWriter将所有输出打印出来时,我得到了显示的结果,但它们会显示在一个单独的页面上。 1)以这种方式存储是一个好主意,还是应该使它与字符串不同? 2)如何将查询结果发布到JSP页面? databaseServlet.java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.sql.*; @SuppressWarnings(“serial”) public class databaseServlet extends HttpServlet { private Connection conn; private Statement statement; public void init(ServletConfig config) throws ServletException { try { Class.forName(config.getInitParameter(“databaseDriver”)); conn = DriverManager.getConnection( config.getInitParameter(“databaseName”), config.getInitParameter(“username”), config.getInitParameter(“password”)); statement = conn.createStatement(); } catch (Exception e) { e.printStackTrace(); } } protected […]