dependency 변경
Network interface 중 virtual ip , loopback, P2P를 제외 하는 로직 추가
glue-core 모듈 수정
com.poscoict.glueframework.context.GlueWebContext 수정
수정전 TRACE com.poscoict.glueframework.biz.control.GlueBizControllerImpl - Type : {WEB_BROWSER}, Root : {ContextPath=/GlueSample, ServiceName=sample-service, RequestURI=/GlueSample/sample.mvc, HttpRequest.getRemoteAddr=127.0.0.1}, RequestParameter : {ServiceName=[Ljava.lang.String;@1a9b7a7, deptno=[Ljava.lang.String;@46c960}, RequestAttribute : {}, SessionAttribute : {}, Cookie : {}, Header : {} 수정후 TRACE com.poscoict.glueframework.biz.control.GlueBizControllerImpl - Type : {WEB_BROWSER}, Root : {ContextPath=/GlueSample, ServiceName=sample-service, RequestURI=/GlueSample/sample.mvc, HttpRequest.getRemoteAddr=127.0.0.1}, RequestParameter : {ServiceName=[sample-service], deptno=[10]}, RequestAttribute : {}, SessionAttribute : {}, Cookie : {}, Header : {}
com.poscoict.glueframework.dao.jdbc.GlueJdbcDao 수정
com.poscoict.glueframework.dao.manager.GlueColumnManager 수정
com.poscoict.glueframework.dao.jdbc.GlueGenericJdbcDao 수정
com.poscoict.glueframework.dao.jdbc.GlueJdbcDao 수정
[main] [org.springframework.jdbc.core.JdbcTemplate] DEBUG com.poscoict.glueframework.dao.jdbc.GlueJdbcTemplate - Executing prepared SQL update [main] [org.springframework.jdbc.core.JdbcTemplate] DEBUG com.poscoict.glueframework.dao.jdbc.GlueJdbcTemplate - Executing prepared SQL statement [INSERT INTO BLOB_TEST VALUES (?, ?)] [main] [org.springframework.jdbc.core.StatementCreatorUtils] TRACE org.springframework.jdbc.core.StatementCreatorUtils - Setting SQL statement parameter value: column index 1, parameter value [TESTNamed3], value class [java.lang.String], SQL type unknown [main] [org.springframework.jdbc.core.StatementCreatorUtils] TRACE org.springframework.jdbc.core.StatementCreatorUtils - Setting SQL statement parameter value: column index 2, parameter value [D:\tmp\imgtest\one\test.png], value class [java.io.File], SQL type unknown [main] [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml] [main] [org.springframework.jdbc.support.SQLErrorCodesFactory] INFO org.springframework.jdbc.support.SQLErrorCodesFactory - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] [main] [com.poscoict.glueframework.dao.jdbc.GlueJdbcDao] INFO com.poscoict.glueframework.dao.jdbc.GlueJdbcDao - Executing Query StartTime[Fri Jul 15 16:04:40 KST 2016] com.poscoict.glueframework.dao.GlueUncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO BLOB_TEST VALUES (?, ?)]; SQL state [99999]; error code [17004]; 부적합한 열 유형; nested exception is java.sql.SQLException: 부적합한 열 유형 at com.poscoict.glueframework.dao.jdbc.GlueJdbcDao.a(GlueJdbcDao.java:947) at com.poscoict.glueframework.dao.jdbc.GlueJdbcDao.a(GlueJdbcDao.java:725) at com.poscoict.glueframework.dao.jdbc.GlueJdbcDao.insert(GlueJdbcDao.java:500) at BlobTest.main(BlobTest.java:46) Caused by: java.sql.SQLException: 부적합한 열 유형 at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8730) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8237) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8981) at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8962) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:214) at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:169) at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:169) at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:401) at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:234) at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:149) at org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.setValues(PreparedStatementCreatorFactory.java:298) at org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.createPreparedStatement(PreparedStatementCreatorFactory.java:251) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:583) at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:818) at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:840) at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:281) at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:285) at com.poscoict.glueframework.dao.jdbc.GlueJdbcDao.a(GlueJdbcDao.java:692) ... 2 more
com.poscoict.glueframework.biz.activity.GlueJdbcNativeRun 수정
수정전 Connection con = dao.getDBConnection(); ... con.close(); 수정후 Connection con = dao.getDBConnection(); ... dao.releaseDBConnection(con)
com.poscoict.glueframework.web.GlueHttpReceiverAdapter 수정
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setStatus( HttpServletResponse.SC_FORBIDDEN ); response.getWriter().println(""); // <-- 4.2.8 에서 추가 response.flushBuffer(); this.logger.error( "GET Request is forbidden...." ); }
com.poscoict.glueframework.biz.activity.GlueJdbcInsert 수정
com.poscoict.glueframework.biz.activity.GlueJdbcModify 수정
com.poscoict.glueframework.context.GlueStaticContext 수정
public static String getGlueProperty( String key ) public static String getCustomProperty( String key ) public static String getSystemProperty( String key ) public static String getGlueProperty( String key, String defaultValue ) <-- 추가 public static String getCustomProperty( String key, String defaultValue ) <-- 추가 public static String getSystemProperty( String key, String defaultValue ) <-- 추가
com.poscoict.glueframework.dao.jdbc.GlueLazyJdbcDao 추가
com.poscoict.glueframework.dao.vo.GlueCursorBasedRowSet 추가
com.poscoict.glueframework.transaction.GlueLazyTransactionManager 추가
com.poscoict.glueframework.web.GlueLazyTransactionReleaseFilter 추가
com.poscoict.glueframework.dao.jdbc.GlueJdbcDao 수정
protected <T, P> List<T> findByQueryDefinitionInternal( GlueQueryDefinition def, GlueParameter<P> param ) <-- private 를 protected로 변경.
com.poscoict.glueframework.dao.manager.GlueColumnManager 수정 - method 추가
public GlueColumnDef[] getColumnDefinition( String queryKey, ResultSet rs )
com.poscoict.glueframework.biz.control.GlueBizControllerImpl 수정 - GlueLazyTransactionManager 일 경우 commit/rollback 로그 제거함.
glue-ucube 모듈 수정
com.poscoict.glueframework.ucube4.GlueUCubeManagerImpl 수정
public int sendMessage( String brokerName, String interfaceID, String message ) { ... 중략 ... m_handler.sendMessage( brokerName, interfaceID, message, false ); //m_handler.commit( brokerName ); // false 가 있으므로 commit 불필요. //m_handler.rollback( brokerName ); //false 로 되어 있으므로 rollback 불필요 ... 중략 ... }
glue-schedule 모듈 수정
com.poscoict.glueframework.scheduling.activity.GlueJobCall 수정
Caused by: java.lang.NullPointerException at java.util.StringTokenizer.<init>(StringTokenizer.java:182) at java.util.StringTokenizer.<init>(StringTokenizer.java:204) at com.poscoict.glueframework.scheduling.activity.GlueJobCall.a(GlueJobCall.java:155) at com.poscoict.glueframework.scheduling.activity.GlueJobCall.runActivity(GlueJobCall.java:137) at com.poscoict.glueframework.biz.control.GlueService$GlueActivityHandler.runActivity(GlueService.java:166)
com.poscoict.glueframework.scheduling.server.GlueServerHandler 수정
com.poscoict.glueframework.scheduling.GlueQuartzJobBean 수정