我们正在尝试从c3p0迁移到bonecp连接池.我们使用hibernate作为ORM工具.
现在,有没有什么办法来监控像结识池中的时间以及是否有游泳池等未归还的任何连接的特定点的最大可用和忙碌连接在boncecp的连接?
谢谢您的帮助
我正在努力解决我正在进行的项目的连接超时问题.我们使用c3p0来管理连接池和hibernate作为orm工具.我们也用春天.
要查找是否有任何未返回的连接,我已在我的c3p0配置中将debugUnreturnedConnectionStackTraces设置为true(不在c3p0属性中).
还有什么我需要做的.我是否还要向lod4j.properties添加任何内容,还是仅将debugUnreturnedConnectionStackTraces设置为true?
另外,我应该在c3p0属性中将debugUnreturnedConnectionStackTraces设置为true吗?
谢谢您的帮助
从db获取图像后,当我尝试调整大小时,使用下面的代码传递宽度
public static BufferedImage resize(final byte[] pImageData,
final int width, final int height, final int maxLength, final int minLength, final String imageSubType) throws Exception {
InputStream is = null;
BufferedImage resizeImageJpg = null;
try {
is = new ByteArrayInputStream(pImageData);
BufferedImage originalImage = ImageIO.read(is);
--------------------
}
}
Run Code Online (Sandbox Code Playgroud)
行抛出以下异常:
BufferedImage originalImage = ImageIO.read(is);
Run Code Online (Sandbox Code Playgroud)
例外:
Caused by: java.awt.color.CMMException: Invalid image format
at sun.awt.color.CMM.checkStatus(CMM.java:131)
at sun.awt.color.ICC_Transform.<init>(ICC_Transform.java:89)
at java.awt.image.ColorConvertOp.filter(ColorConvertOp.java:516)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(JPEGImageReader.java:1169)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1137)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:948)
at javax.imageio.ImageIO.read(ImageIO.java:1422)
at javax.imageio.ImageIO.read(ImageIO.java:1326)
Run Code Online (Sandbox Code Playgroud)
有关为何仅针对某些图像抛出此错误的任何想法.图像有什么问题吗?如果是这样,那可能是什么错误
我们有一个使用hibernate作为ORM工具的api,我们使用c3p0作为连接池处理程序.我们在负载下没有问题.但是,当api处于非活动状态一天左右时,我们正在用尽"无法获取连接"异常.因此,如果周末没有人使用api,我们会在周一早上收到连接错误.
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${----}"/>
<property name="jdbcUrl" value="${----}"/>
<property name="user" value="${----}"/>
<property name="password" value="${------}"/>
<property name="minPoolSize" value="5"/>
<property name="acquireIncrement" value="5" />
<property name="maxPoolSize" value="125" />
<property name="maxStatements" value="10" />
<property name="maxIdleTime" value="180" />
<property name="maxIdleTimeExcessConnections" value="30" />
<property name="checkoutTimeout" value="3000" />
<property name="preferredTestQuery" value="SELECT 1" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我们使用mysql作为数据库.在我的研究中,我知道mySQL在8小时左右后连接失效.连接池可能会向客户端发出过时的连接,从而导致客户端的连接超时异常.
目前,我们没有在C3Po中配置任何连接测试.可以说,如果我在池中将它们提供给客户端之前使用IdleTestPeriod来测试连接.那么如果我的所有连接在某个时间点都未通过测试会发生什么?是否会从池中删除这些失败的连接,并再次生成新的活动连接?
目前,这是我们正在使用的c3p0设置.这个问题可能有其他原因吗?
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${----}"/>
<property name="jdbcUrl" value="${----}"/>
<property name="user" value="${----}"/>
<property name="password" value="${------}"/>
<property name="minPoolSize" value="5"/>
<property name="acquireIncrement" value="5" />
<property name="maxPoolSize" value="125" /> …Run Code Online (Sandbox Code Playgroud) 我正在处理grails应用程序.我们使用cobertura生成代码覆盖率报告.现在我想修改grails项目,如果代码覆盖率小于90%,则构建应该失败.我怎样才能在grails中实现这一目标?
我有一个休息 Web 服务,它会接受“名称”并使用此名称从数据库中获取令牌并将令牌返回。其余网络服务的网址为:
http://localhost:8080/NameService/Tokens?name=Bob
Run Code Online (Sandbox Code Playgroud)
在 serviceLayer 中,我的方法如下:
@GET
@Path("Tokens")
@Produces("application/xml")
public JAXBElement<GetToken> getokenByName(@QueryParam("name") final String name ) {
if(name!=null){
// use hibernate criteria to fetch the records from db
Criteria crit = getSession().createCriteria(getPersistentClass());
crit.add(Restrictions.eq("name",name))
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当客户端可以在请求中同时发送多个名称时,我们的需求发生了变化。例如,给我令牌 where name = "bob" or "brendon" or "aaron" 的 URL 可能是这样的:
http://localhost:8080/NameService/Tokens?name=Bob,Aaron,Brendon
Run Code Online (Sandbox Code Playgroud)
发送的姓名数量是可变的。它可以是 1 或 2 或 3,依此类推。关于如何通过调整上面显示的代码来实现这种拆分并将它们作为服务层中的 OR 条件传递给休眠条件的任何想法,这适用于一个名称?
一种方法可能是StringUtils使用分隔符(逗号)解析不同的名称,然后形成一个列表以及如何将列表中的名称添加到条件限制中。但不确定这是否有效。
有任何想法吗?