我有以下类用于获取JDBC连接:
package util;
import java.sql.Connection;
import java.sql.SQLException;
import javax.annotation.Resource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class OracleConnection implements AutoCloseable{
private final String oracle_DS_CTX = "java:jboss/oracleDS";
// @Resource(name="java:jboss/oracleDS")
// private DataSource ds; //doesn't work
private Connection _conn;
public OracleConnection() throws SQLException, NamingException{
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(oracle_DS_CTX);
_conn = ds.getConnection();
}
@Override
public void close() throws Exception {
if(_conn != null){
_conn.close();
}
}
public Connection getConnection() throws SQLException {
return _conn;
} …Run Code Online (Sandbox Code Playgroud) 我创造了简单的fidlle
var cnt = 1;
function add() {
var root = document.getElementById('root')
root.innerHTML += '<br /><a id= "a_' +cnt + '" href="#">click</a>'
var a = document.getElementById("a_"+cnt)
a.addEventListener('click', function(event) {
alert('click:a_'+cnt)
})
cnt++
}
Run Code Online (Sandbox Code Playgroud)
添加新链接后单击"添加"按钮,单击此链接后会出现警报.
当使用"添加"按钮添加更多链接时,只有最后一个链接有效(其他链接根据开发工具没有单击事件侦听器).
为什么只有最后一个链接工作,如何使所有链接工作?
我有一个使用 boost asio 库的课程:
\n\n标题:
\n\nclass TestIOService {\n\npublic:\n void makeConnection();\n static TestIOService getInst();\n\nprivate:\n TestIOService(std::string address);\n std::string address;\n // boost::asio::io_service service;\n};\nRun Code Online (Sandbox Code Playgroud)\n\n实现:
\n\n#include <boost/asio/ip/address.hpp>\n#include <boost/asio/ip/udp.hpp>\n#include "TestIOService.h"\n\nvoid TestIOService::makeConnection() {\n boost::asio::io_service service;\n boost::asio::ip::udp::socket socket(service);\n boost::asio::ip::udp::endpoint endpoint(boost::asio::ip::address::from_string("192.168.1.2"), 1234);\n socket.connect(endpoint);\n socket.close();\n}\n\nTestIOService::TestIOService(std::string address) : address(address) { }\n\nTestIOService TestIOService::getInst() {\n return TestIOService("192.168.1.2");\n}\nRun Code Online (Sandbox Code Playgroud)\n\n以及主要:
\n\nint main(void)\n{\n TestIOService service = TestIOService::getInst();\n service.makeConnection();\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我使用以下行在 makeConnection 方法中定义服务时:
\n\nboost::asio::io_service service;\nRun Code Online (Sandbox Code Playgroud)\n\n没有问题,但是当我将它作为类字段成员(在代码中注释掉)时,我收到此错误:
\n\n\n\n注意: \xe2\x80\x98TestIOService::TestIOService(TestIOService&&)\xe2\x80\x99 被隐式删除\n,因为默认定义格式不正确:\n class TestIOService {
\n