亚洲色成人网站www永久,亚洲欧美人成视频一区在线,亚洲国产成人高清在线观看,亚洲精品久久久久久动漫,亚洲国产精品久久电影欧美

數(shù)據(jù)專欄

智能大數(shù)據(jù)搬運(yùn)工,你想要的我們都有

科技資訊

科技學(xué)院

科技百科

科技書籍

網(wǎng)站大全

軟件大全

HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
有兩張表,A表和B表,一對(duì)多的關(guān)系
A.id=B.aId
A.date 和 b.date 比較,如果和A關(guān)聯(lián)的每一個(gè)B中的b.date都大于A.date ,那么就把A表中對(duì)應(yīng)的數(shù)據(jù)查出來
請(qǐng)問應(yīng)該怎么寫SQL語句啊

技術(shù)問答
2016-07-20 22:33:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
有2個(gè)表,需要依次從一個(gè)表中查詢數(shù)據(jù),然后在另一個(gè)表中查詢結(jié)果,將2條查詢記錄保存到本地。
大概有10W條數(shù)據(jù),如何使用多線程,加快速度
謝謝
技術(shù)問答
2016-07-20 20:59:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> package com.inzyme.p2p.test; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; import org.inzy.framework.core.common.entity.IdEntity; import com.inzyme.p2p.finance.transcation.entity.TranscationEntity; @Entity @Table(name = "test_account", schema = "") public class TestEntity { private String id; private String account; private String host; private String type; private String accountname; private String money; private String state; private String note; private List trade = new ArrayList(); @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "testentity") public List getTrade() { return trade; } public void setTrade(List trade) { this.trade = trade; } @Id @Column(name = "id", nullable = false, length = 32) public String getId() { return id; } public void setId(String id) { this.id = id; } @Column(name = "賬號(hào)", nullable = true, length = 32) public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } @Column(name = "戶主", nullable = true, length = 32) public String getHost() { return host; } public void setHost(String host) { this.host = host; } @Column(name = "賬戶類型", nullable = true, length = 2) public String getType() { return type; } public void setType(String type) { this.type = type; } @Column(name = "賬戶名稱", nullable = true, length = 50) public String getAccountname() { return accountname; } public void setAccountname(String accountname) { this.accountname = accountname; } @Column(name = "余額", nullable = true, length = 32) public String getMoney() { return money; } public void setMoney(String money) { this.money = money; } @Column(name = "賬戶狀態(tài)", nullable = true, length = 2) public String getState() { return state; } public void setState(String state) { this.state = state; } @Column(name = "備注", nullable = true, length = 32) public String getNote() { return note; } public void setNote(String note) { this.note = note; } }

技術(shù)問答
2016-07-20 22:28:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@JFinal 你好,想跟你請(qǐng)教個(gè)問題:
Record 插入數(shù)據(jù)庫(kù)表中,如果其中的一個(gè)字段是varchar,Java的對(duì)象時(shí) StringBuilder,
插入時(shí)會(huì)拋出 java.sql.SQLException: Incorrect string value: '?í
技術(shù)問答
2016-07-18 16:54:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
springmvc框架,我創(chuàng)建了50個(gè)線程并開啟訪 問我的一個(gè)方法。方法是對(duì)一個(gè)字段讀取并加1操作。isDelete這個(gè)字段的初始值是1,理想計(jì)算結(jié)果應(yīng)該是51,但是結(jié)果卻是6,很多個(gè)線程都是重復(fù)讀寫了。有經(jīng)驗(yàn)的朋友告訴我這個(gè)應(yīng)該怎么解決。
我如果用jdbc實(shí)現(xiàn)這種情況是這樣做的。如下圖2,可以解決這個(gè)問題,但是springmvc框架怎么解決這種問題???這個(gè)事物配置有什么關(guān)系嗎?
圖1:
圖2:
技術(shù)問答
2016-07-05 13:40:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="java.io.*"%> <%@page import="java.util.*"%> <%@page import="com.horizon.db.Access"%> <% String path=request.getContextPath(); System.out.println(path); String workid=request.getParameter("workid"); String sql = "select * from document_file where recordid='"+workid+"'"; System.out.println("sql====="+sql); List listaid = Access.getMultiList(sql, null); System.out.println(listaid.size()); if(listaid.size()>0){ String fileid = String.valueOf(((List) listaid.get(0)).get(0)); System.out.println(fileid); byte[] byteblob = Access.getBlobContentBytes("DOCUMENT_FILE","FILEBODY","where recordid ='"+workid+"'","system"); response.reset(); response.setHeader("Content-Disposition", "attachement;filename=fujian.doc;"); //String s=new String(byteblob.getBytes("IS0-8859-1","GBK")); // response.setContentType("application/msword;charset=GBK"); response.setContentType("application/x-msdownload"); //response.setContentType("text/html;charset=utf-8"); OutputStream output=response.getOutputStream(); output.flush(); if(byteblob!=null){ InputStream in = new ByteArrayInputStream(byteblob); byte[] buf=new byte[4096]; int len = 0; while ((len = in.read(buf)) > 0) { output.write(buf, 0, len); } in.close(); output.flush(); output.close(); output=null; response.flushBuffer(); out.clear(); out = pageContext.pushBody(); } }else{ %>
相關(guān)的正文不存在!

<% }%>
怎么講獲取的word數(shù)據(jù)顯示在jsp頁面上,不需要下載
技術(shù)問答
2016-06-29 17:12:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> java.sql.SQLException: Operation not allowed after ResultSet closedat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:804) at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:6986)
技術(shù)問答
2016-06-29 10:38:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
java version "1.8.0_91"
用的是sqljdbc4驅(qū)動(dòng)包
技術(shù)問答
2016-06-22 18:45:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 我自己寫的jdbc連接mysql,用了好久好久了,昨天重啟了mysql服務(wù)器后,現(xiàn)在訪問mysql好慢,幾次都失敗
之前一直都好好的,而且還是做數(shù)據(jù)量特別大,sql特別靈活的查詢,啥問題都沒有,現(xiàn)在一個(gè)簡(jiǎn)單的查詢都很慢,連接創(chuàng)建失敗,
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import com.fz.util.Global; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; public class MySQLPool { private static volatile MySQLPool pool; private MysqlDataSource ds; private Map map; private static String url = Global.getConfig("jdbc.url"); private static String username = Global.getConfig("jdbc.username"); private static String password = Global.getConfig("jdbc.password"); private int initPoolSize = 100; private int maxPoolSize = 1000; private int waitTime = 10000; private MySQLPool() { init(); } public static MySQLPool getInstance() { if (pool == null) { synchronized (MySQLPool.class) { if(pool == null) { pool = new MySQLPool(); } } } return pool; } private void init() { try { ds = new MysqlDataSource(); ds.setUrl(url); ds.setUser(username); ds.setPassword(password); ds.setCacheCallableStmts(true); ds.setConnectTimeout(1000); ds.setLoginTimeout(2000); ds.setUseUnicode(true); ds.setEncoding("UTF-8"); ds.setZeroDateTimeBehavior("convertToNull"); ds.setMaxReconnects(5); ds.setAutoReconnect(true); map = new ConcurrentHashMap(initPoolSize); for (int i = 0; i < initPoolSize; i++) { map.put(getNewConnection(), true); } } catch (Exception e) { e.printStackTrace(); } } public Connection getNewConnection() { try { return ds.getConnection(); } catch (Exception e) { e.printStackTrace(); } return null; } public synchronized Connection getConnection() { Connection conn = null; try { for (Entry entry : map.entrySet()) { if (entry.getValue()) { conn = entry.getKey(); map.put(conn, false); break; } } if (conn == null) { if (map.size() < maxPoolSize) { conn = getNewConnection(); map.put(conn, false); } else { wait(waitTime); conn = getConnection(); } } } catch (Exception e) { e.printStackTrace(); } return conn; } /* public synchronized Statement createSta(Statement stmt) throws Exception { Connection conn = pool.getConnection(); try { if (stmt == null) { stmt=conn.createStatement(); } } catch (Exception e) { e.printStackTrace(); } return stmt; }*/ public void releaseConnection(Connection conn ,Statement stmt ,ResultSet rs) { if (conn == null) { return; } try { if(rs!=null){ try { rs.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } rs=null; } if(stmt!=null){ try { stmt.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } stmt=null; } if(map.containsKey(conn)) { if (conn.isClosed()) { map.remove(conn); } else { if(!conn.getAutoCommit()) { conn.setAutoCommit(true); } map.put(conn, true); } } else { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * 測(cè)試類 */


com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2385) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2306) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:834) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) at sun.reflect.GeneratedConstructorAccessor4.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346) at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:443) at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:141) at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:111) at cn.qjj.mysql.MySQLPool.getNewConnection(MySQLPool.java:72) at cn.qjj.mysql.MySQLPool.init(MySQLPool.java:63) at cn.qjj.mysql.MySQLPool.(MySQLPool.java:32) at cn.qjj.mysql.MySQLPool.getInstance(MySQLPool.java:39) at cn.qjj.mysql.SqlUtils.(SqlUtils.java:32) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections" at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1112) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483) at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2324) ... 17 more java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011) at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006) at cn.qjj.mysql.MySQLPool.init(MySQLPool.java:63) at cn.qjj.mysql.MySQLPool.(MySQLPool.java:32) at cn.qjj.mysql.MySQLPool.getInstance(MySQLPool.java:39) at cn.qjj.mysql.SqlUtils.(SqlUtils.java:32)

技術(shù)問答
2016-06-21 17:05:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
錯(cuò)誤信息如下
java.lang.ClassNotFoundException: com.jdbc.mysql.Driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1858)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.imooc.util.JdbcUtil.getConnection(JdbcUtil.java:57) at com.imooc.dao.SublistStudentDaoImpl.getAllStudent(SublistStudentDaoImpl.java:49) at com.imooc.dao.SublistStudentDaoImpl.findStudent(SublistStudentDaoImpl.java:19) at com.imooc.service.StudentServiceImpl.findStudent(StudentServiceImpl.java:16) at com.imooc.Servlet.SublistServlet.doPost(SublistServlet.java:58) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) Thu Jun 16 14:14:52 CST 2016 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 六月 16, 2016 2:14:52 下午 org.apache.catalina.core.StandardWrapperValve invoke 嚴(yán)重: Servlet.service() for servlet [com.imooc.Servlet.SublistServlet] in context with path [/pager] threw exception java.lang.RuntimeException: 查詢所有數(shù)據(jù)異常 at com.imooc.dao.SublistStudentDaoImpl.getAllStudent(SublistStudentDaoImpl.java:58) at com.imooc.dao.SublistStudentDaoImpl.findStudent(SublistStudentDaoImpl.java:19) at com.imooc.service.StudentServiceImpl.findStudent(StudentServiceImpl.java:16) at com.imooc.Servlet.SublistServlet.doPost(SublistServlet.java:58) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'students.student' doesn't exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:404) at com.mysql.jdbc.Util.getInstance(Util.java:387) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962) at com.imooc.util.JdbcUtil.findResult(JdbcUtil.java:113) at com.imooc.dao.SublistStudentDaoImpl.getAllStudent(SublistStudentDaoImpl.java:50) ... 25 more
————————————————————————————————————————————————————
jar包已經(jīng)確認(rèn)導(dǎo)入了,網(wǎng)上查了好多方法,能試的方法都試了,就是不行。無語了,4個(gè)小時(shí)了。。。
這個(gè)是我的驅(qū)動(dòng)工具類
package com.imooc.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;

public class JdbcUtil {

private static String USERNAME;
private static String PASSWORD;
private static String DRIVER;
private static String URL;

private Connection connection;
private PreparedStatement pstmt;
private ResultSet resultSet;

static{
loadConfig();
}
/**
* 加載數(shù)據(jù)庫(kù)配置信息,并給相關(guān)的屬性賦值
*/
public static void loadConfig(){
try {
InputStream inStream = JdbcUtil.class
.getResourceAsStream("/jdbc.properties");
Properties prop = new Properties();
prop.load(inStream);
USERNAME = prop.getProperty("jdbc.username");
PASSWORD = prop.getProperty("jdbc.password");
DRIVER = prop.getProperty("jdbc.driver");
URL = prop.getProperty("jdbc.url");
System.out.println(USERNAME+" "+PASSWORD+" "+DRIVER+" "+URL);
} catch (Exception e) {
throw new RuntimeException("讀取數(shù)據(jù)庫(kù)配置文件異常!", e);
}
}
public JdbcUtil() {

}

public Connection getConnection() {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}

/**
* 執(zhí)行更新操作
* @param sql sql語句
* @param params 執(zhí)行參數(shù)
* @return 執(zhí)行結(jié)果
* @throws SQLException
*/
public boolean updateByPreparedStatement(String sql, List params)
throws SQLException {
boolean flag = false;
int result = -1;// 表示當(dāng)用戶執(zhí)行添加刪除和修改的時(shí)候所影響數(shù)據(jù)庫(kù)的行數(shù)
pstmt = connection.prepareStatement(sql);
int index = 1;
// 填充sql語句中的占位符
if (params != null && !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(index++, params.get(i));
}
}
result = pstmt.executeUpdate();
flag = result > 0 ? true : false;
return flag;
}
/**
* 執(zhí)行查詢操作
* @param sql sql語句
* @param params 執(zhí)行參數(shù)
* @return
* @throws SQLException
*/
public List> findResult(String sql, List params)
throws SQLException {
List> list = new ArrayList>();
int index = 1;
pstmt = connection.prepareStatement(sql);
if (params != null && !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(index++, params.get(i));
}
}
resultSet = pstmt.executeQuery();
ResultSetMetaData metaData = resultSet.getMetaData();
int cols_len = metaData.getColumnCount();
while (resultSet.next()) {
Map map = new HashMap();
for (int i = 0; i < cols_len; i++) {
String cols_name = metaData.getColumnName(i + 1);
Object cols_value = resultSet.getObject(cols_name);
if (cols_value == null) {
cols_value = "";
}
map.put(cols_name, cols_value);
}
list.add(map);
}
return list;
}

/**
* 釋放資源
*/
public void releaseConn() {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

——————————————————————————————————————
其中的配置文件,用戶名 密碼 url driver 都是沒有問題的。
技術(shù)問答
2016-06-16 14:20:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
本人新手,正在學(xué)習(xí)框架,有沒有大神能推薦一個(gè)小型的框架源碼?
技術(shù)問答
2017-04-17 11:29:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
RSF介紹:
一個(gè)高可用、高性能、輕量級(jí)的分布式服務(wù)框架。支持容災(zāi)、負(fù)載均衡、集群。一個(gè)典型的應(yīng)用場(chǎng)景是,將同一個(gè)服務(wù)部署在多個(gè)Server上提供 request、response 消息通知。使用RSF可以點(diǎn)對(duì)點(diǎn)調(diào)用,也可以分布式調(diào)用。部署方式上:可以搭配注冊(cè)中心,也可以獨(dú)立使用。
注冊(cè)中心的使用支持嵌入到應(yīng)用程序本身,也支持獨(dú)立運(yùn)行。集群模式的部署注冊(cè)中心,還可以為您解決注冊(cè)中心單點(diǎn)問題。
工作原理

nutz 也算是一個(gè)活躍的老牌框架了, RSF 1.0.1 發(fā)布之后,收到了一些希望支持 nutz 的呼聲。
https://www.oschina.net/p/Hasor-RSF 項(xiàng)目介紹
https://www.oschina.net/news/78836/hasor-rsf-1-1(新聞鏈接)
在這里想了解一下 RSF 在 Nuta 中要求兼容的需求度有多強(qiáng)烈?
技術(shù)問答
2016-11-09 12:04:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
項(xiàng)目在運(yùn)行一段時(shí)間侯,每隔幾十秒,拋出一次這個(gè)錯(cuò)誤,最后內(nèi)存溢出,掛掉
十一月 21, 2016 3:27:30 下午 org.apache.catalina.core.StandardWrapperValve invoke 嚴(yán)重: Servlet.service() for servlet springMVC threw exceptionjava.lang.OutOfMemoryError at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:214) at java.util.zip.ZipFile.(ZipFile.java:144) at java.util.jar.JarFile.(JarFile.java:152) at java.util.jar.JarFile.(JarFile.java:89) at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93) at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:88) at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150) at freemarker.cache.URLTemplateSource.close(URLTemplateSource.java:139) at freemarker.cache.URLTemplateLoader.closeTemplateSource(URLTemplateLoader.java:106) at freemarker.cache.MultiTemplateLoader$MultiSource.close(MultiTemplateLoader.java:188) at freemarker.cache.MultiTemplateLoader.closeTemplateSource(MultiTemplateLoader.java:142) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:353) at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:205) at freemarker.template.Configuration.getTemplate(Configuration.java:740) at freemarker.core.Environment.getTemplateForInclusion(Environment.java:1694) at freemarker.core.Environment.getTemplateForImporting(Environment.java:1748) at freemarker.core.Environment.importLib(Environment.java:1733) at freemarker.template.Configuration.doAutoImportsAndIncludes(Configuration.java:1105) at freemarker.core.Configurable.doAutoImportsAndIncludes(Configurable.java:1271) at freemarker.core.Configurable.doAutoImportsAndIncludes(Configurable.java:1271) at freemarker.core.Environment.process(Environment.java:242) at freemarker.template.Template.process(Template.java:277) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:722)
技術(shù)問答
2016-11-22 20:13:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> Environment: jdk1.7 javax.servlet-api-3.0.1.jar is needed for this test. Reproduce steps: javac Test1.java -cp javax.servlet-api-3.0.1.jar build Test1.java with javax.servlet-api-3.0.1.jar javac Test2.java -cp javax.servlet-api-3.0.1.jar build Test2.java with javax.servlet-api-3.0.1.jar javac Test3.java build Test3.java But when this command java Test3 run, Exception is thrown. The result at the end of this post. Test1.hello()運(yùn)行正常,而Test2.hello()運(yùn)行失敗 Test1.java import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; public class Test1 { public void getRequest(HttpServletResponse resp) throws IOException { OutputStream os = resp.getOutputStream(); resp.getOutputStream().close(); } public void hello(String world) { System.out.println("hello " + world); } } Test2.java import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; public class Test2 { public void getRequest(HttpServletResponse resp) throws IOException { OutputStream os = resp.getOutputStream(); try { resp.getOutputStream().close(); } catch (Exception e) { } } public void hello(String world) { System.out.println("hello " + world); } } Test3.java public class Test3 { public static void main(String[] args) { new Test1().hello("world1"); new Test2().hello("world2"); } } output of the final step. Test2.hello("world2") throw an exception: hello world1 Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream at cn.test.abc1.Test3.main(Test3.java:9) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletOutputStream at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 6 more I am very confused with the Exception. Because I didn't use any code in the Class ServletOutputStream. And the difference of the Test1 and Test2 is only a try blocked.
技術(shù)問答
2016-08-04 20:55:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 新人學(xué)習(xí)NUTZ框架,按照教程DEMO搭建的時(shí)候,在數(shù)據(jù)初始化那一步,湯姆貓啟動(dòng)出錯(cuò),錯(cuò)誤如圖,忘前輩指點(diǎn),
技術(shù)問答
2015-12-18 12:21:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
org.nutz.ioc.IocException: For object [dao] - type:[interface org.nutz.dao.Dao]
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:188)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:199)
at com.venustech.tsoc.cupid.logging.LoggingProcessor.init(SourceFile:175)
at org.nutz.mvc.impl.NutActionChainMaker.eval(NutActionChainMaker.java:34)
at org.nutz.mvc.impl.UrlMappingImpl.add(UrlMappingImpl.java:46)
at org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:175)
at org.nutz.mvc.impl.NutLoading.load(NutLoading.java:91)
at com.venustech.tsoc.CupidNutLoading.load(SourceFile:22)
at org.nutz.mvc.ActionHandler.(ActionHandler.java:19)
at org.nutz.mvc.NutFilter.init(NutFilter.java:54)
at com.venustech.tsoc.CupidNutFilter.init(SourceFile:36)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Don't know how to born it!
at org.nutz.lang.born.BorningException.(BorningException.java:9)
at org.nutz.lang.Mirror.born(Mirror.java:921)
at org.nutz.lang.Lang.wrapThrow(Lang.java:157)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:105)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:181)
... 26 more


這個(gè)問題,我本地linux可以正確訪問,win也可以,但是上傳到服務(wù)器就有上面問題,不知如何下手,求解。
技術(shù)問答
2014-05-20 16:00:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
直接貼錯(cuò)誤日志吧:
ALL Nutz Log via Log4jLogAdapter
1167 [main] INFO org.nutz.log.Logs - Nutz is licensed under the Apache License, Version 2.0 .
Report bugs : https://github.com/nutzam/nutz/issues
1171 [main] INFO org.nutz.dao.impl.NutDao - Note: Make sure set SpringDaoRunner if using DataSourceTransactionManager.
1259 [main] INFO org.nutz.filepool.NutFilePool - Init file-pool by: /home/jetty/.nutz/tmp/dao/ [200000]
1260 [main] WARN org.nutz.dao.jdbc.JdbcExpertConfigFile - NutDao FilePool create fail!! Blob and Clob Support is DISABLE!! Home=/home/jetty/.nutz/tmp/dao/
java.lang.RuntimeException: '/home/jetty/.nutz/tmp/dao/' should be a directory!
at org.nutz.lang.Lang.makeThrow(Lang.java:99)
at org.nutz.lang.Files.createDirIfNoExists(Files.java:401)
at org.nutz.filepool.NutFilePool.(NutFilePool.java:27)
at org.nutz.dao.jdbc.JdbcExpertConfigFile.init(JdbcExpertConfigFile.java:38)
at org.nutz.dao.jdbc.Jdbcs.(Jdbcs.java:68)
at org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:156)
操作系統(tǒng)是linux,發(fā)布在jetty中
更關(guān)心的是:會(huì)影響Dao的使用
這個(gè)file pool的路徑可以配置嗎?@Wendal
技術(shù)問答
2015-09-08 18:25:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@三個(gè)字兒 你好,想跟你請(qǐng)教個(gè)問題:nutz的cnd中有IN否!該如何玩!
技術(shù)問答
2015-08-13 11:19:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>> 請(qǐng)教nutz自定義的ActionFilter支持配置只攔截部分請(qǐng)求么
技術(shù)問答
2014-09-23 14:06:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
nutz 的事物Trans.begin 不檢查連接池的連接, 需要自己檢查嗎?

static void _begain(int level) throws Exception {
Transaction tn = trans.get();
if (null == tn) {
tn = null == implClass ? new NutTransaction() : Mirror.me(implClass).born();
tn.setLevel(level);
trans.set(tn);
count.set(0);
if (DEBUG)
log.debugf("Start New Transaction id=%d, level=%d", tn.getId(), level);
} else {
if (DEBUG)
log.debugf("Attach Transaction id=%d, level=%d", tn.getId(), level);
}
int tCount = count.get() + 1;
count.set(tCount);
//if (DEBUG)
// log.debugf("trans_begain: %d", tCount);

}
技術(shù)問答
2015-07-30 19:07:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
環(huán)境如下:
OS:Red Hat Enterprise Linux Server release 5.8 (Tikanga)
內(nèi)存:8G
java version "1.8.0_92"
logstash 2.3.2
elasticsearch-2.3.2,已經(jīng)正常啟動(dòng)
配置文件 logstash.conf
input {
file { path => "/var/log/messages" start_position => "beginning" }
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH????ss Z" ]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
# bin/logstash -f /etc/logstash/conf.d/logstash.conf
Settings: Default pipeline workers: 4
NotImplementedError: stat.st_dev unsupported or native support failed to load
dev_major at org/jruby/RubyFileStat.java:205
nix_inode at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:28
inode at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:32
inode at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:106
watch at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:96
_discover_file at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:313
each at org/jruby/RubyArray.java:1613
each at org/jruby/RubyEnumerator.java:274
_discover_file at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:304
watch at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:95
call at org/jruby/RubyProc.java:281
synchronized at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:357
synchronize at org/jruby/ext/thread/Mutex.java:149
synchronized at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:357
watch at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:92
tail at /opt/logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/tail_base.rb:73
tail at /opt/logstash/vendor/jruby/lib/ruby/1.9/forwardable.rb:201
begin_tailing at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:288
each at org/jruby/RubyArray.java:1613
begin_tailing at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:288
run at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:292
inputworker at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:342
start_input at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:336
我的測(cè)試結(jié)果:
當(dāng)我修改logstash.conf 文件時(shí),input這里,寫stdin{}時(shí),logstash是可以正常啟動(dòng)的,但寫file{}就報(bào)“NotImplementedError: stat.st_dev unsupported or native support failed to load”的錯(cuò)誤。
請(qǐng)問大牛們,誰遇到了這個(gè)問題的并解決了,給個(gè)提示,是否是系統(tǒng)環(huán)境的問題?十分感謝!
技術(shù)問答
2016-05-03 18:27:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@路小磊 你好,想跟你請(qǐng)教個(gè)問題:拜讀過您的elk權(quán)威指南譯本,最近碰到一個(gè)問題,期望得到您的幫助,是這樣的:

我使用logstash插入和更新日志數(shù)據(jù)到es,更新的時(shí)候使用了groovy動(dòng)態(tài)腳本,最近遇到兩次永久代內(nèi)存溢出的異常,初步觀察和判斷是因?yàn)閯?dòng)態(tài)腳本導(dǎo)致內(nèi)存泄漏,因此想更改script type為file,這樣腳本只會(huì)編譯一次就ok了,但是這時(shí)候發(fā)現(xiàn)logstash好像沒辦法像es的api那樣可以給腳本傳遞參數(shù)?怎么著才能把logstash的filter處理之后的某些字段在腳本文件中讀取呢?
技術(shù)問答
2016-10-19 14:37:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
比方說,數(shù)據(jù)用#分割
abc#1#測(cè)試數(shù)據(jù)1
abc#2#測(cè)試數(shù)據(jù)2
我在output里需要完成一個(gè)事情,在輸出的時(shí)候,數(shù)據(jù)的輸出目錄需要根據(jù)第二個(gè)字段來確定,數(shù)據(jù)1寫在文件1里,數(shù)據(jù)2寫在文件2里
技術(shù)問答
2017-06-02 11:30:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
logstash從2.4.0版本替換成5.3.0版本的話需要修改哪些配置才能正常運(yùn)作?

直接把2.4.0版本替換成5.3.0版本出了些問題,不能正常使用了,進(jìn)程都起不來
技術(shù)問答
2017-04-13 10:01:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
input {
file {
path => "/log/api.log"
}
}
filter {
grok {
match => {"message"=> "%{TIMESTAMP_ISO8601}}
remove_field => ["message"]
}
if "_grokparsefailure" in [tags] { drop {} }
}
output {
if "_grokparsefailure" not in [tags]{
elasticsearch {
hosts => ["*.*.*.*:9200"]
index => "indexdemo"
}
stdout {codec => rubydebug}}
}
這是我的logstash的配置文件 但是es 那邊還是會(huì)接收到匹配失敗的數(shù)據(jù) 并顯示在kibana上 求解答
技術(shù)問答
2017-03-15 16:14:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>

項(xiàng)目里日志升級(jí)到log4j2 后輸出日志到日志系統(tǒng)就不行了,求大神指點(diǎn)一下
log4j2.xml配置:


錯(cuò)誤異常: 2016-12-16 11:34:40,503 AsyncAppender-Async ERROR Unable to write to stream TCP:10.1.21.1:4567 for appender socket: org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing to TCP:10.1.21.1:4567 2016-12-16 11:34:40,506 AsyncAppender-Async ERROR An exception occurred processing Appender socket org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing to TCP:10.1.21.1:4567 at org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:143) at org.apache.logging.log4j.core.appender.OutputStreamManager.write(OutputStreamManager.java:197) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.writeByteArrayToManager(AbstractOutputStreamAppender.java:185) at org.apache.logging.log4j.core.appender.SocketAppender.directEncodeEvent(SocketAppender.java:424) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:169) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:160) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) at org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.callAppenders(AsyncAppender.java:451) at org.apache.logging.log4j.core.appender.AsyncAppender$AsyncThread.run(AsyncAppender.java:404) Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at org.apache.logging.log4j.core.net.TcpSocketManager.write(TcpSocketManager.java:133)







技術(shù)問答
2016-12-16 11:36:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
有什么辦法讓tomcat直接將catalina.out日志以json的形式直接發(fā)送給logstash?
不依賴filebeat等
目前java程序日志通過slf4j直接發(fā)送到logstash是可行的
用的下面的辦法
https://github.com/logstash/logstash-logback-encoder
求老司機(jī)指點(diǎn)
技術(shù)問答
2017-02-10 08:24:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
kibana版本是4.0,沒有辦法對(duì)搜索結(jié)果進(jìn)行排序,如圖:
鼠標(biāo)移到Time那一欄會(huì)顯示“sort by Time”,但是點(diǎn)擊沒有反應(yīng),也沒有排序
在github上求助,有人說是因?yàn)閑lasticsearch那邊沒有做好索引,不太明白如何加上索引?這個(gè)文檔結(jié)構(gòu)是logstash傳輸日志到 elasticsearch時(shí) elasticsearch動(dòng)態(tài)創(chuàng)建的。
技術(shù)問答
2015-03-04 10:13:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
目前正在集成elk,通過logstash收集logback產(chǎn)生的日志,elk已搭建好部署在同一臺(tái)機(jī)器(我個(gè)人pc)

下面是logstash的配置作為服務(wù)通過tcp的方式收集日志
通過telnet的方式 能夠 收集到數(shù)據(jù) 傳給es
下面是logback的配置,logstash-logback-encoder 已經(jīng)添加到工程

下面是測(cè)試
程序運(yùn)行后控制臺(tái)可以輸出日志 ,但是logstash并沒有收集到日志es看不到。請(qǐng)問這是為什么?????
技術(shù)問答
2016-05-30 13:38:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
zlog是個(gè)概念清晰的日志函數(shù)庫(kù),在效率、功能、安全性上大大超過了log4c,并且是用c寫成的,具有比較好的通用性
1.安裝
下載 HardySimpson-zlog-c7ae17b.zip
解壓, 安裝
1
$ unzip HardySimpson-zlog-c7ae17b.zip
2
$ cd HardySimpson-zlog-c7ae17b/
3
$ ./configure -- enable - test # 把測(cè)試程序和案例也編譯下,反正不安裝
4
$ make
5
$ make install
6
# 默認(rèn)安裝在/usr/local/下,包括libzlog.so和zlog.h

把測(cè)試程序和案例也編譯下,反正不安裝
默認(rèn)安裝在/usr/local/下,包括libzlog.so和zlog.h
2.介紹一下配置文件
zlog里面有三個(gè)重要的概念,category,format,rule
分類(Category)用于區(qū)分不同的輸入,代碼中的分類變量的名字是一個(gè)字符串,在一個(gè)程序里面可以通過獲取不同的分類名的category用來后面輸出不同分類的日志,用于不同的目的。
格式(Format)是用來描述輸出日志的格式,比如是否有帶有時(shí)間戳, 是否包含文件位置信息等,上面的例子里面的格式simple就配置成簡(jiǎn)單的用戶輸入的信息+換行符。
規(guī)則(Rule)則是把分類、級(jí)別、輸出文件、格式組合起來,決定一條代碼中的日志是否輸出,輸出到哪里,以什么格式輸出。簡(jiǎn)單而言,規(guī)則里面的分類字符串和代碼里面的分類變量的名字一樣就匹配,當(dāng)然還有更高級(jí)的綱目分類匹配。規(guī)則徹底解耦了各個(gè)元素之間的強(qiáng)綁定,例如log4j就必須為每個(gè)分類指定一個(gè)級(jí)別(或者從父分類那里繼承),這在多層系統(tǒng)需要每一層都有自己的級(jí)別要求的時(shí)候非常不方便。
現(xiàn)在試著寫配置文件,配置文件名無所謂,放在哪里也無所謂,反正在zlog_init()的時(shí)候可以指定
1
$ cat /etc/zlog.conf
2
&simple "%m%n"
3

4
my_cat.DEBUG >stdout; simple

在目前的配置文件的例子里面,可以看到my_cat分類,>=debug等級(jí)的日志會(huì)被輸出到stdout(標(biāo)準(zhǔn)輸出),并且輸出的格式是simple這個(gè)格式,也就是用戶輸入信息+換行符。如果要輸出到文件并控制文件大小為1兆,規(guī)則的配置應(yīng)該是
1
my_cat.DEBUG "/var/log/aa.log" , 1M; simple

3.在代碼中使用
01
$ vi test_hello.c
02

03
#include
04

05
#include "zlog.h"
06

07
int main( int argc, char ** argv)
08
{
09
int rc;
10
zlog_category_t *c;
11

12
rc = zlog_init( "/etc/zlog.conf" );
13
if (rc) {
14
printf ( "init failed\n" );
15
return -1;
16
}
17

18
c = zlog_get_category( "my_cat" );
19
if (!my_cat) {
20
printf ( "get cat fail\n" );
21
zlog_fini();
22
return -2;
23
}
24

25
ZLOG_INFO(c, "hello, zlog" );
26

27
zlog_fini();
28

29
return 0;
30
}


4.編譯、然后運(yùn)行!
1
$ cc -c -o test_hello.o test_hello.c -I/usr/ local /include
2
$ cc -o test_hello test_hello.o -L/usr/ local /lib -lzlog
3
$ ./test_hello
4
hello, zlog
5.高級(jí)功能 syslog風(fēng)格的配置文件,易學(xué)易用 可以靈活配置日志輸出的格式,類似于log4j的pattern layout 綱目分類模型,比log4j系列的繼承模型更加清晰 多種輸出,包括動(dòng)態(tài)文件、靜態(tài)文件、stdout、stderr、syslog 可以在運(yùn)行時(shí)動(dòng)態(tài)刷新配置,只需要調(diào)用函數(shù)zlog_update() 高性能,在我的筆記本上達(dá)到72'000條日志每秒, 大概是syslog(3)配合rsyslogd的200倍速度 用戶可以自定義等級(jí),無需改變庫(kù)代碼[sec:Define-new-level] 多線程和多進(jìn)程寫同一個(gè)日志的情況下,安全轉(zhuǎn)檔(轉(zhuǎn)檔就是把太大的日志重命名) 可以精確到微秒 如果一個(gè)程序默認(rèn)只用一個(gè)分類輸出,zlog提供了簡(jiǎn)單的調(diào)用包裝dzlog MDC,一個(gè)log4j風(fēng)格的鍵-值對(duì)的表,可以擴(kuò)展用戶自定義的字段 自診斷,可以在運(yùn)行時(shí)輸出zlog自己的日志和配置狀態(tài) 不依賴其他庫(kù),只要是個(gè)POSIX系統(tǒng)就成
6.相關(guān)鏈接:
軟件下載:( https://github.com/HardySimpson/zlog/zipball/master )
詳細(xì)使用攻略:( https://github.com/HardySimpson/zlog/raw/master/download/ZlogUsersGuide-CN-0.9rc1.pdf )
主頁:( https://github.com/HardySimpson/zlog )
作者博客:( http://my.oschina.net/HardySimpson/blog )
郵箱:( HardySimpson1984@gmail.com )
技術(shù)問答
2012-03-29 16:18:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
我最近在用zlog, 安裝之后,在測(cè)試時(shí),總是init失敗。切換用戶為root后,才能成功。請(qǐng)問這是為什么呢?
技術(shù)問答
2012-06-04 13:39:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:我在嵌入式開發(fā)板上使用zlog庫(kù),目前開發(fā)板只有128M內(nèi)存, 可能有10個(gè)進(jìn)程左右在運(yùn)行,但是目前內(nèi)存比較緊張,使用zlog的過程中,發(fā)現(xiàn)每一個(gè)進(jìn)程初始化一次就得多占用1M內(nèi)存。麻煩問一下有辦法降低內(nèi)存的占用量嗎?能夠通過配置文件進(jìn)行更改
技術(shù)問答
2018-05-25 17:25:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 老師:
你好,想跟你請(qǐng)教個(gè)問題:
因?yàn)轫?xiàng)目的需求,需要每個(gè)進(jìn)程將日志輸出到單獨(dú)的日志文件,本來想用syslog的,但是沒看到要怎么實(shí)現(xiàn)這個(gè)功能。后來看到了難易老師的 zlog 有 mdc 這個(gè)功能,感覺應(yīng)該能實(shí)現(xiàn)需求的,但是 zlog 使用手冊(cè)中提到"MDC是每個(gè)線程獨(dú)有的“,我在使用過程中也確實(shí)發(fā)現(xiàn)單個(gè)線程中設(shè)置的 mdc 只能給這個(gè)線程用,其他的線程會(huì)提示找不到 key 。
所以,現(xiàn)在想問一個(gè)問題:在多線程中使用 zlog 的 mdc 功能是否需要在每個(gè)線程都調(diào)用 zlog_put_mdc ??
技術(shù)問答
2016-09-18 15:09:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
在zlog中,我想使用變量來命名并生成一個(gè)文件,,比如,int a=10,希望得到10.log,,我現(xiàn)在不知道如何在配置文件中修改規(guī)則,,但是找了網(wǎng)上很多資料,沒有找到關(guān)于這方面的方法,,請(qǐng)您詳細(xì)講解一下好嗎,謝謝。
技術(shù)問答
2016-07-22 16:45:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
您好!
zlog會(huì)出現(xiàn)下面的情況:時(shí)間上好像有些亂序,請(qǐng)問是什么原因? 是否是因?yàn)樾〉軟]有設(shè)置相關(guān)參數(shù):
技術(shù)問答
2012-08-24 14:34:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
項(xiàng)目中使用到了你的zlog 1.2.12版本(目前最新版本了吧),我們的項(xiàng)目使用是線程池并發(fā)處理, 測(cè)試的時(shí)候偶爾會(huì)出現(xiàn)core dump的情況,core dump原因主要是使用了dzlog函數(shù)打印了十六進(jìn)制,不知道與這個(gè)有沒有關(guān)系,跟蹤core文件如下:
#0 0x00007f6db3cef9c1 in vfprintf () from /lib64/libc.so.6 #1 0x00007f6db3d1a079 in vsnprintf () from /lib64/libc.so.6 #2 0x00007f6db6a775c9 in zlog_buf_vprintf (a_buf=a_buf@entry=0x7f6cfc017cc0, format=0x7f6d8b357e20 "-", ' ' , "\312\375\276\335\303\334\316\304 = [\314.\223\321\300\070/$!%n\333\324&\235\270O)40\273TgGxX\f~\353j.\233s7z*\\\321c)\004\v\323\215\275O\222\270\316\066\330\332\253\272\067\070\026z\332\031\312\362\331\243;\241\324,]\263\230\177/\272\065\234H]\233\374\327\372\205\220\377\224X\214\350\066D\340\370Jw\230\240\371\031\261\364w\261G\201\321\242r\350\026f\236\t\t\177\220\301\025\362\232_\265][pack.c:1678]", args=0x7f6cfc0109a8) at buf.c:220 #3 0x00007f6db6a7f2f1 in zlog_spec_write_usrmsg (a_spec=, a_thread=0x7f6cfc008aa0, a_buf=0x7f6cfc017cc0) at spec.c:249 #4 0x00007f6db6a7a8be in zlog_format_gen_msg (a_format=0x169ad20, a_thread=a_thread@entry=0x7f6cfc008aa0) at format.c:156 #5 0x00007f6db6a7d88b in zlog_rule_output_dynamic_file_rotate (a_rule=0x16d7ee0, a_thread=0x7f6cfc008aa0) at rule.c:294 #6 0x00007f6db6a78865 in zlog_category_output (a_category=0x16e9ce0, a_thread=a_thread@entry=0x7f6cfc008aa0) at category.c:229 #7 0x00007f6db6a84078 in dzlog (file=0x7f6db5fa0e8a "liblog.c", filelen=8, func=0x7f6db5fa0e93 <__FUNCTION__.7907> "logDebug", funclen=8, line=82, level=20, format=0x7f6d8b357e20 "-", ' ' , "\312\375\276\335\303\334\316\304 = [\314.\223\321\300\070/$!%n\333\324&\235\270O)40\273TgGxX\f~\353j.\233s7z*\\\321c)\004\v\323\215\275O\222\270\316\066\330\332\253\272\067\070\026z\332\031\312\362\331\243;\241\324,]\263\230\177/\272\065\234H]\233\374\327\372\205\220\377\224X\214\350\066D\340\370Jw\230\240\371\031\261\364w\261G\201\321\242r\350\026f\236\t\t\177\220\301\025\362\232_\265][pack.c:1678]") at zlog.c:906 #8 0x00007f6db5fa0cf7 in logDebug (loglevel=13, frm=0x7f6db4ad3007 "%20s = [%s][%s:%d]") at liblog.c:82 #9 0x00007f6db4ad218b in _Pack_E4 (sMsg=0x7f6d8b35d900 "000122", uMsgLen=0x7f6d8b38dd44, sMsg=0x7f6d8b35cf60) at pack.c:1678 #10 0x00007f6db5762f5f in _Flow (sInMsg=0x7f6d7805b098 "070026ABCDEFGHIJKLMNOPQRSTUVWXYZ;K00400", uInLen=39, sOutMsg=0x7f6d8b37dd50 "", uOutLen=0x7f6d8b38dd44) at work_flow.c:723 #11 0x00007f6db5327ddf in _Flow_Read (set=0x606400 , len=1, s=0x7f6d78053470, iFlag=0) at main_flow.c:251 #12 0x00007f6db53285a0 in _Main_Flow_Read (arg=0x16fa7a8) at main_flow.c:421 #13 0x00007f6db61a48b7 in thread_routine (arg=0x0) at threadpool.c:213 #14 0x00007f6db6e9adf5 in start_thread () from /lib64/libpthread.so.0 #15 0x00007f6db3d9b1ad in clone () from /lib64/libc.so.6

另外壓力測(cè)試時(shí)還會(huì)出現(xiàn)日志寫到配置文件的情況(寫入時(shí)無規(guī)則,可能會(huì)在配置文件中間被寫入),我看到《zlog用戶手冊(cè)》也有提到這個(gè)問題,但是由于目前項(xiàng)目測(cè)試原因,守護(hù)進(jìn)程并未關(guān)閉系統(tǒng)默認(rèn)的輸入輸出fd,也并未使用到《zlog用戶手冊(cè)》提到的情況,不知是否還有其他問題會(huì)引起該問題呢?
zlog的確是個(gè)不錯(cuò)的日志程序,雖然程序不怎么能看懂,也沒有時(shí)間好好研究一下。
最后,非常感謝!
技術(shù)問答
2016-01-08 10:56:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
難易,你好!我下載了zlog最新的代碼,同時(shí)也下載了winzlog的代碼,發(fā)現(xiàn)很多的實(shí)現(xiàn)不一致。所以,我有如下的問題:
1、我希望使用一個(gè)跨平臺(tái)的日志庫(kù),也就是說windows和linux下都可以是一套代碼,那么,我是使用zlog還是winzlog呢?
2、我自己寫了一個(gè)日志庫(kù),但是在多線程調(diào)用的時(shí)候,日志很亂,經(jīng)常在一個(gè)業(yè)務(wù)的日志中,還穿插其他業(yè)務(wù)的日志,導(dǎo)致分析問題很困難,那么,zlog或winzlog有沒有這樣的問題呢?
技術(shù)問答
2015-06-10 22:49:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
我在windows下使用你的zlog時(shí),報(bào)錯(cuò),不能像正常測(cè)試那樣輸出正確的結(jié)果,errlog報(bào)錯(cuò)信息如下
12-18 11:27:29 ERROR (336:e:\winzlog-master\zlog\src\rotater.c:158) opened
12-18 11:27:29 ERROR (336:e:\winzlog-master\zlog\src\rule.c:445) write fail, errno[0]
12-18 11:27:29 ERROR (336:e:\winzlog-master\zlog\src\zlog.c:985) zlog_output fail, srcfile[e:\winzlog-master\zlog\test\test_profile.c], srcline[33]
我查看是rule的 WriteFIle函數(shù)最終返回時(shí)0 導(dǎo)致后續(xù)的報(bào)錯(cuò),請(qǐng)問這是什么原因?qū)е碌?謝謝。
技術(shù)問答
2014-12-18 13:09:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
結(jié)果都是這樣
2014-12-18 20:58:23.429000 ERROR 7080:10883624:f:\desex\desex\win32dialogbasedapplication.cpp:15 hehe
2014-12-18 20:58:23.429000 ERROR 7080:10883624:f:\desex\desex\win32dialogbasedapplication.cpp:15 hehe
2014-12-18 21:00:15.130000 INFO 12136:1970728:f:\desex\desex\public.cpp:159 hello zlog.
2014-12-18 21:00:15.130000 INFO 12136:1970728:f:\desex\desex\public.cpp:159 hello zlog.
2014-12-18 21:00:15.130000 ERROR 12136:1970728:f:\desex\desex\win32dialogbasedapplication.cpp:15 hehe
2014-12-18 21:00:15.130000 ERROR 12136:1970728:f:\desex\desex\win32dialogbasedapplication.cpp:15 hehe
技術(shù)問答
2014-12-18 21:06:00
HDC調(diào)試需求開發(fā)(15萬預(yù)算),能者速來!>>>
@難易 你好,想跟你請(qǐng)教個(gè)問題:
動(dòng)態(tài)日志文件輸出時(shí),能否改為不每次都close(fd),現(xiàn)在測(cè)試發(fā)現(xiàn),采用動(dòng)態(tài)日志文件輸出,效率很慢
技術(shù)問答
2014-08-27 12:55:00