SIÇÁ·ÎÁ§Æ® ½Ç¹«°æÇè¹ÙÅÁ Àü¹®ÀÚ¹Ù°³¹ßÀÚ°øµ¿Ã¼    
    WASÀü¹®±â¼ú/½Ã½ºÅÛÀå¾ÖÁø´Ü/¼º´ÉÀÌ·Ð/ÄÁ¼³ÆÃ
¾ÆÀ̵ð: 
ºñ¹Ð¹øÈ£: 
[ȸ¿ø°¡ÀÔ]
¡ßApplicationServer
-------------------- 
- ¾îÇø®ÄÉÀ̼Ǽ­¹ö

- Apache Geronimo
- ATG Dynamo
- BEA WebLogic
- BolandEnterpriseServer
- Evermind Orion Server
- Fujitsu Interstage
- GemStone's GemStone/J
- HP Netaction
- IBM WebSphere
- IONA iPortal
- InfronTech WebTide
- Macromedia JRun
- Marc Fleury's JBoss
- Oracle 9iAS/OAS/OSDK
- Persistence PowerTier
- SilverStream eXtend
- Sun/Netscape iPlanet
- Sybase EAServer
- TmaxSoft JEUS

- ¼­ºí·¿¿£Áø
(JServ,Tomcat,Resin,..)

- eclipse/Plugin
- Other IDE Tools
Áú¹®Àº [¹¯°í´äÇϱâ]¶õ¿¡¸¸ ¿Ã·ÁÁÖ¼¼¿ä





ÃÖ±Ù¿¡ Å͵æÇÑ »õ·Î¿î °ÍÀÌ ÀÖ³ª¿ä? ¸Ó¸® ¼Ó¿¡ ³Ö¾î µÎ¸é ±Ý¹æ Àؾî¹ö¸®ÁÒ? ÀÛÀº °ÍÀÌ¶óµµ ±¦ÂúÀ¸´Ï À̰÷¿¡ ¿Ã·Á³õ°í ³²µé°ú °øÀ¯ÇϽÃÁö¿ä.. ¿Ã¸±¸¸ÇÑ ¸Þ´º°¡ ¾ø´Ù±¸¿ä? ¸¸µé¾î µå¸±²²¿ä.


[ÃÖ±Ù ¿Ã¶ó¿Â ±Ûº¸±â] °Ë»ö¾î:
 JavaResource | API Tips | Open Source | APM | ApplicationServer | Unix/DB/JVM/Etc | Q&A/Help
¡ß Java Resources
--------------------
- °øÁö»çÇ×
- ÃÖ±Ù IT ¼Ò½Ä
- ¼¼¹Ì³ª¼Ò½Ä
- À̺¥Æ® & ÇÁ·Î¸ð¼Ç

- Ãßõ¹®¼­(2006)
- Ãßõ¹®¼­(2003-2005)
- Ãßõ¹®¼­(±¸)

- °ü·Ã »çÀÌÆ®

- ¹¯°í´äÇϱâ @
- ¹¯°í´äÇϱâ-BACKUP @
- ±â¼ú Åä·ÐÀå @
- ÀÏ¹Ý Åä·ÐÀå @
- »çȸ Åä·ÐÀå @


- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ@

- ±³À°/°­ÀÇ/°­ÁÂ
- ÇÁ·ÎÁ§Æ®/¼Ö·ç¼ÇÁ¦¾È
- ä¿ë°ø°í/°³¹ßÀÚ±¸ÀÎ
- ±¸Á÷¶õ

- Àǰ߳ª´®ÅÍ/Àâ´ã

- ÀÚ¹Ù¼­ºñ½º³ÝÀº...
¡ß Java API Tips
--------------------
- Programming Tips
- JDC Tech Tips

- Servlet/JSP
- J2EE/EJB
- XML/SOAP/UDDI/WSDL
- Jakarta POI
- JDBC
- Mobile Java
- Applet,Swing,SWT
- CORBA
- RMI
- JavaMail
- HTML/HTC/css/js
- Web ÀϹÝ

- ¼­ºí·¿¿£Áø @
(JServ,Tomcat,JRun,..)
¡ß Open Source
----------------------
- Eclipse/Plugin
- Apache Struts
- JDF Framework
  - Download / API

- Open Source Q&A
* ¿ÀǼҽº °Ô½ÃÆÇ
  ½Åû¹Þ¾Æ¿ä.
¡ß APM
----------------------
- Performance Forum
- Jennifer
  - Consulting Doc.
  - »ç¿ëÈıâ/±â´ÉÃß°¡¿äû
  - Jennifer FAQ
  - Jennifer Q&A
  - Jennifer Download
- CA/Wily
- Mercury Topaz/J2EE Diag.
- Symantec i3
- Borland Optimizeit
- Compuware Vantage
¡ßApplicationServer
-------------------- 
- ¾îÇø®ÄÉÀ̼Ǽ­¹ö

- Apache Geronimo
- ATG Dynamo
- BEA WebLogic
- BolandEnterpriseServer
- Evermind Orion Server
- Fujitsu Interstage
- GemStone's GemStone/J
- HP Netaction
- IBM WebSphere
- IONA iPortal
- InfronTech WebTide
- Macromedia JRun
- Marc Fleury's JBoss
- Oracle 9iAS/OAS/OSDK
- Persistence PowerTier
- SilverStream eXtend
- Sun/Netscape iPlanet
- Sybase EAServer
- TmaxSoft JEUS

- ¼­ºí·¿¿£Áø
(JServ,Tomcat,Resin,..)

- eclipse/Plugin
- Other IDE Tools
¡ßUnix/DB/JVM/Etc
--------------
- Unix/Network
- Hacking/Cracking

- DataBase
- JDBC @

- JVM/JDK Issue
- ±âŸ ÀÚ·á½Ç
¡ß Q&A/Help
--------------------
- ¹¯°í´äÇϱâ
- ¹¯°í´äÇϱâ-BACKUP
- Åä·ÐÀå
- ÇÁ·ÎÁ§Æ®½Ç¹«ÄÁ¼³ÆÃ
- Framework Q&A @
- Jennifer Q&A @

- °Ô½ÃÆÇ »ç¿ë¹ý
- ÀÚ¹Ù¼­ºñ½º³ÝÀº... @
Borland Enterprise Server
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]   
Á¦¸ñ : [¹®ÀÇ] ¾Æ·¡¹®ÀÇ¿¡ ´ëÇÑ Ãß°¡ Áú¹®
±Û¾´ÀÌ: ±Ã±ÝÀÌ(guest) 2004/10/01 18:22:35 Á¶È¸¼ö:3808 ÁÙ¼ö:98

¿î¿µÀÚ´ÔÀÌÇÏ ¸¹Àº ºÐµéÀÌ ´äº¯À» ÇØÁּż­ ¹«Ã´ °¨»çµå¸³´Ï´Ù.

Á¦°¡ ¿î¿µÇϰí ÀÖ´Â »çÀÌÆ®ÀÇ ÀÏ Á¢¼Ó°Ç¼ö´Â ¾à 30¸¸°Ç Á¤µµÀÔ´Ï´Ù.

ÀÌ¿ø¿µ´ÔÀÇ Á¶¾ð´ë·Î jbdcµå¶óÀ̹ö¸¦ ¾÷±×·¹À̵带 Çß½À´Ï´Ù.
DB¸¦ 8.1.7.4¸¦ ¾²°í Àִµ¥ ¾ÆÁ÷µµ 8.1.6¹öÀüÀÇ jdbc¸¦ ¾²°í ÀÖ´õ¶ó±¸¿ä
±×·¡¼­ À̹ø¿¡ ¾÷±×·¹À̵带 Çߴµ¥, ÇöÀç µ¿ÀÏÇÑ Çö»óÀº Àç¹ßÇϰí ÀÖÁö´Â ¾ÊÁö¸¸
°è¼Ó ¸ð´ÏÅ͸µÀ» Çϰí ÀÖ´Â ÁßÀÔ´Ï´Ù.

¿©·¯ºÐµéÀÌ ´Ù¸¥ºÎºÐ¿¡ ´ëÇÑ ¹®Á¦Á¡À» Á¦±âÇϼż­ À̹øÂü¿¡ ÀúÈñÂÊ ¾ÆÅ°ÅØÃÄ¿¡ ´ëÇØ 
¿©·¯ºÐµéÀÇ Á¶¾ðÀ» ¾ò°íÀÚ ÇÕ´Ï´Ù. WAS°¡ µµÀԵǾî ÀÖÁö¸¸ EJB·Î ±¸ÇöµÇ¾î ÀÖÁö 
¾Ê½À´Ï´Ù. 2000³âµµ¿¡ °³¹ßµÈ »çÀÌÆ®¶ó ¾ÆÅ°ÅØÃĶó°í Çϱ⵵ ¹¹ ÇÕ´Ï´Ù.
³»ÈijâÂë Àç °³¹ß¿¡ µé¾î°¥ ¿¹Á¤ÀÔ´Ï´Ù.

jsp -> javaBean -> ConnectionPool -> DB ·Î ±¸¼ºµÇ¾î ÀÖ°í 
»ç¾çÀº ¾Æ·§±Û°ú µ¿ÀÏÇÕ´Ï´Ù.

À̶§ javaBeanÀÌ °¢ ¼­ºñ½ºº°·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç, ¾à 100°³Á¤µµ°¡ ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.

¾Æ·¡´Â javaBeanÀÇ ¼ÀÇà ÆÄÀÏÀÔ´Ï´Ù.
staticÇÏ°Ô ConnectionPool ÀνºÅϽº¸¦ ¾ò¾î »ç¿ëÇϰí ÀÖ½À´Ï´Ù.

public class xxxx{
	private static ConnectionPool conPool;
    	static {
    		try {
            	conPool = ConnectionPool.getInstance();
        		} catch (Exception e) {}
      }//end of static

      public static HashMap Select_info(String zipcode) throws CustomerException{
		// connection ¼±¾ð 
		// statement->PreparedStatement
		// Resultset 
		
	
		Connection 			con 		= 	null;
		PreparedStatement 	pstmt 		= 	null;
		ResultSet 			rs 			= 	null;
		                           	
		//  Äõ¸® ¼±¾ð              	
		// 	HashMap ¼±¾ð           	
		StringBuffer 		buf			= 	new StringBuffer();
		HashMap				hsm  		= 	new HashMap();
		                           	
		List 				xxxx		=	new ArrayList();
		 	
		buf	.append("	select xxxx from xxx 	")
			.append("    where xxx = ?						");
			
      	try{
	    
	      		con		=	conPool.getConnection();
				pstmt	=	con.prepareStatement(buf.toString());                                      
				pstmt.clearParameters();
				
				pstmt.setString(1,zipcode);
				
				rs = pstmt.executeQuery();
				
				while(rs.next()){
					edps_a		.add	(fixNull(rs.getString("edps_a")));
				}
				
						
      	
      	} catch (SQLException se) {
				Logger.err.println(se.getMessage());
				throw new CustomerException(CommonError.getUserMsg(se));
            
			} catch (Exception e) {
				Logger.err.println(e.getMessage());
				throw new CustomerException(e.getMessage());
			} finally {
				try {
					if (rs != null) rs.close();
					if (pstmt != null) pstmt.close();
					if (con != null) conPool.freeConnection(con);
				} catch (SQLException se) {}
			}//end of finally
			
			hsm.put("edps_a",edps_a);	

			return hsm;
      }// end of Select_info()
}


¿©±â¼­ ±Ã±ÝÇÑÁ¡Àº ù ¹®Àå°ú °°ÀÌ staticÀ¸·Î connectionPoolÀÇ ÀνºÅϽº¸¦ °¡Á®¿ÂµÚ 
°¢ ÇÔ¼ö¿¡¼­ °øÀ¯Çؼ­ ÀνºÅϽº¸¦ ¾²°Ô µÇ´Âµ¥, ÀÌ·¸°Ô Çϴ°Ͱú °¢ ÇÔ¼ö¿¡¼­ °¢°¢ 
connectionPoolÀÇ ÀνºÅϽº¸¦ °¡Á®¿Í¼­ »ç¿ëÇÏ´Â °Í°úÀÇ Â÷ÀÌÀÔ´Ï´Ù.

¼º´É»ó¿¡ ¾î¶² Â÷À̰¡ ÀÖÀ»±î¿ä? ¶ÇÇÑ ¾Æ·¡¿¡ Á¦°¡ ¿Ã¸° ´ýÇÁ¿Íµµ ÀÌ·¯ÇÑ ±¸Á¶°¡ ¿µÇâ
ÀÌ ÀÖ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.

¿©·¯ °í¼ö´ÔµéÀÇ ÀǰßÀ» µè°í ½Í½À´Ï´Ù. 
Á¦¸ñ : Re: °áÁ¤Çϱ⠾ָÅÇÑ ºÎºÐÀ̱º¿ä.
±Û¾´ÀÌ: »ç¶ûÀüÀï(lovewar) 2004/10/05 09:04:27 Á¶È¸¼ö:3743 ÁÙ¼ö:62

Connection PoolÀ» °¢ JavaBean¿¡¼­ class variable·Î ¼³°è¸¦ Çϴ³Ä?
¾Æ´Ï¸é, °¢ JavaBeanÀÇ ¸Þ¼Òµå³»¿¡¼­ Á÷Á¢ Á¢±ÙÇϰԲû ¼³°è¸¦ Çϴ³Ä?

Connection PoolÀÌ Singleton PatternÀ̶ó´Â °¡Á¤ÇÏ¿¡
µÎ°¡Áö °üÁ¡(¸Þ¸ð¸®, ¼Óµµ)¿¡ ´ëÇØ¼­ ³íÀÇÇØ ºÁ¾ß ÇÕ´Ï´Ù.

VMÀÇ ¹®¼­(½ºÆå)À» ÅëÇØ¼­ ³íÀÇÇϸç. ÇöÀç VM ½ºÆåÀÇ ¹®¼­¸¦ º¼ ½Ã°£ÀÌ ¾ø¾î ¹æ¹ý¸¸
±â¼úÇÕ´Ï´Ù.

Class Variable(static field)·Î ¼±¾ðÇßÀ»½Ã ¸Þ¸ð¸® ¹èÁ¤¿©ºÎ¿Í ÀÌÀÇ Á¢±Ù¹æ¹ý,
±×¸®°í Local Variable ¶Ç´Â ¸Þ¼Òµå³»¿¡¼­ Á÷Á¢ Á¢±Ù½Ã ¹ß»ýÇÏ´Â ¸Þ¸ð¸®¿Í ÀÌÀÇ Á¢±Ù¹æ¹ý
¿¡ ´ëÇØ¼­ VMÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ ÀÎÁöÇÏ¼Å¾ß ÇÕ´Ï´Ù.

ÀÌ µÎ°¡Áö¸¦ ºñ±³ÇÏ¿© º¸¸é µÇ´Âµ¥,  °³ÀÎÀû °üÁ¡¿¡¼­´Â ºñµîºñµîÇÒ °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.

ÀϹÝÀûÀÎ °üÁ¡¿¡¼­ º¸¸é staticÀ¸·Î »ç¿ëÇϸé, ¼Óµµ´Â ºü¸¥ ¹Ý¸é, ¸Þ¸ð¸®¸¦ Ç׽à Á¡À¯Çϰí
Àִٴ°ÍÀÌ ¸¾¿¡ °É¸±°ÍÀÔ´Ï´Ù. ±× ¹Ý´ëÀÇ °æ¿ìµµ µ¿ÀÏÇÒ°ÍÀ¸·Î º¸ÀÔ´Ï´Ù.

±×·¡¼­ ¼Óµµ°üÁ¡À» °í·ÁÇϴ³Ä, ¾Æ´Ï¸é ¸Þ¸ð¸®°üÁ¡À» º¸´À³Ä¿¡ µû¶ó ¼³°èÀÇ À¯µ¿¼ºÀÌ
ÀÖÀ»°Í °°½À´Ï´Ù.

±¸Á¶ÀÇ ¿µÇâÀº 
  ...
  try {
      if (rs != null) rs.close();
      if (pstmt != null) pstmt.close();
      if (con != null) conPool.freeConnection(con);
  } catch (SQLException se) {
      // ·Î±× ±â·Ï
  }
º¸´Ù´Â 
  try {
      if (rs != null) rs.close();
  } catch (SQLException se) {
      // ·Î±× ±â·Ï
  }
  try {
      if (pstmt != null) pstmt.close();
  } catch (SQLException se) {
      // ·Î±× ±â·Ï
  }
  try {
      if (con != null) conPool.freeConnection(con);
  } catch (SQLException se) {
      // ·Î±× ±â·Ï
  }

ÀÌ·¸°Ô ±â¼úÇÏ¸é ³Ê¹« ±æ¾î Áö±â¶§¹®¿¡
  try { if (rs != null) rs.close(); } catch (SQLException se) { }
  try { if (pstmt != null) pstmt.close(); } catch (SQLException se) { }
  try { if (con != null) conPool.freeConnection(con); } catch (SQLException se) { }
ÀÌ·¸°Ô °£·«ÇÏ°Ô »ç¿ëÇÕ´Ï´Ù.
¿Ö ÀÌ·¸°Ô °³º°ÀûÀ¸·Î try-catchÀýÀ» »ç¿ëÇØ¾ß ÀÚ¿øÀ» ÇØÁ¦ÇÏ´Â °úÁ¤¿¡¼­ ¹ß»ýÇÏ´Â
ExceptionÀ» ó¸®Çϰí, Á¤»óÀûÀ¸·Î ¸ðµç ÀÚ¿øÀ» ÇØÁ¦ÇØ ÁÙ¼ö ÀÖ´Ù´Â °Ì´Ï´Ù.

-- µ¡ºÙÀÌ´Â ±Û --
¿À¶óŬÀÇ JDBC µå¶óÀ̹ö¿¡ ´ëÇÑ ¾Ë·ÁÁø ¹®Á¦Á¡µéÀ̳ª ¹ö±× ÆÐÄ¡µé¿¡ ´ëÇÑ ¹®¼­µµ
Âü°íÇϽøé ÁÁ°Ú½À´Ï´Ù.

²À ÇÊ¿äÄ¡ ¾Ê´Â static ¸Þ¼Òµå´Â »ç¿ëÀ» ÀÚÁ¦ÇÏ´Â °ÍÀÌ ÁÁ°Ú½À´Ï´Ù. 
Á¦¸ñ : Re: »ç¼ÒÇѰÅÁö¸¸..
±Û¾´ÀÌ: ¼Õ´Ô(guest) 2004/10/06 13:51:15 Á¶È¸¼ö:3660 ÁÙ¼ö:16
  try { if (rs != null) rs.close(); } catch (SQLException se) { }
  try { if (pstmt != null) pstmt.close(); } catch (SQLException se) { }
  try { if (con != null) conPool.freeConnection(con); } catch (SQLException se) { }

À§ÀÇ ±¸¹®Àº

  if (rs != null) try { rs.close(); } catch( SQLException ignored) {}
  if (pstmt != null) try { pstmt.close(); } catch( SQLException ignored) {}
  if (con != null) try { con.close(); } catch( SQLException ignored) {}

À̿Ͱ°ÀÌ ¾²´Â°Ô ³ºÁö ¾ÊÀ»±î¿ä ^^


±×¸®°í °³ÀÎÀûÀÎ °æÇèÀÌÁö¸¸, indirection Àº Á¦ °ªÀ» ÇÏ´Â°Í °°½À´Ï´Ù.
staticÀÇ »ç¿ëÀº óÀ½¿£ Æí¸®ÇÏ°Ô ´Ù°¡¿ÀÁö¸¸, Ŭ·¡½º°¡ ¸¹¾ÆÁú¼ö·Ï
±¸Á¶°¡ º¹ÀâÇØÁú¼ö·Ï ³ªÁß¿¡´Â Á¦¾àÀÌ ´õ Ä¿Áö´Â°Í °°½À´Ï´Ù.
  [±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]