Tag: 重新连接

hibernate c3p0破管

我正在将hibernate 3和c3p0用于一个程序,该程序不断从某些源中提取数据并将其写入数据库。 现在问题是,由于某些原因,数据库可能变得不可用(在最简单的情况下:我只是将其关闭)。 如果要将任何内容写入数据库,则不应该有任何exception – 查询应该等待所有永恒,直到数据库再次可用。 如果我没有弄错,这是连接池可以为我做的事情之一:如果db存在问题,只需重试连接 – 在最坏的情况下为无穷大。 但相反,我得到一个破坏的管道exception,有时后面连接拒绝,然后exception传递给我自己的代码,这不应该发生。 即使我抓住exception,我怎么能再次干净地重新初始化hibernate呢? (到目前为止没有c3p0我只是简单地建立了会话工厂,但如果这可能会泄漏连接(或者可以这样做,我不会感到惊讶吗?))。 该数据库是Virtuoso开源版。 我的hibernate.xml.cfg c3p0配置: org.hibernate.connection.C3P0ConnectionProvider false -1 30000 my_test_table 3 3 10 顺便说一句:测试表已经创建,我得到了大量的调试输出 – 所以它似乎实际上读取了配置。

如何调用API(Oauth 1.0)?

我试图称这个API(Oauth1.0标准): https://appcenter.intuit.com/api/v1/Connection/Reconnect 我正在做的是:(它正在研究java) Base64Encoder baseEncoder = Base64Encoder.getInstance(); CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(“https://appcenter.intuit.com/api/v1/connection/reconnect”); StringBuilder headerReq = new StringBuilder(); headerReq.append(“OAuth “); headerReq.append(“oauth_token=\””).append(OAUTHTOKEN).append(“\””); headerReq.append(“, oauth_consumer_key=\””).append(CUNSUMER_KEY).append(“\””); headerReq.append(“, oauth_signature_method=\”base64\””); headerReq.append(“, oauth_signature=\””) .append(baseEncoder.encode(PropsUtil.get(OAUTH_CONSUMER_SECRET).getBytes())) .append(baseEncoder.encode(“&”.getBytes())) .append(baseEncoder.encode(symmetricEncrypter.decryptData(OAUTH_TOKEN_SECRET).getBytes())).append(“\””); headerReq.append(“, oauth_version=\”1.0\””); httpGet.addHeader(“Authorization”, headerReq.toString()); CloseableHttpResponse response = httpclient.execute(httpGet); try { System.out.println(“Responsee::”+ response.getStatusLine()); } 而且,我得到的回应是: This API requires Authorization. 22 你能否在创建Oauth1.0标准请求时向我建议我缺少什么,或者,任何人都可以提供该标准的Oauth1.0请求示例的示例代码。 非常感谢你。