๐Ÿ’ป Programming (358)

1. ๊ฐœ์š”
Cass Loader ๋ž€ abstrace class๋กœ์จ Bytecode๋ฅผ ์ฝ์–ด ๋“ค์—ฌ์„œ class ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š”
์—ญํ™œ์„ ๋‹ด๋‹นํ•œ๋‹ค.

Class Loader๊ฐ€ Class๋ฅผ Loadingํ•˜๋Š” ์‹œ์ ์€ ComplieTime์ด ์•„๋‹Œ Run Time์— Loading์ด ๋œ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ฐ€ SampleTest aaa = new SampleTest(); ๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด
JVM์€ SampleTest๋ผ๋Š” Class๋ฅผ Class Loader๋ฅผ ํ†ตํ•ด์„œ SampleTest.clas์˜ ByteCode๋ฅผ
์ตœ์ดˆ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— Loadํ•˜๊ฒŒ ๋œ๋‹ค. 



2. ClassLoader ๊ธฐ์ˆ ์  ํŠน์ง•
   - Hierarchical 
     Class Loader๋Š” Hierarchical ํ•˜๊ฒŒ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๊ณ , Parent class laoder์—์„œ, child class loader๋ฅผ
     ๊ฐ–๋Š”๊ฒƒ๊ณผ ๊ฐ™์ด Class Loader๊ฐ„์˜ ๊ณ„์ธตํ˜• ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ์ตœ์ƒ์œ„ Class Loader๋Š”  
     "bootstrap"   Class Loader๊ฐ€ ์œ„์น˜ ํ•˜๊ฒŒ ๋œ๋‹ค.

   - Delegate load request
      Class loading์—๋Š” ์ผ์ •ํ•œ ๊ทœ์น™์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋Š” Class Loader๊ฐ€ ๊ณ„์ธกํ˜•์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ 
      ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์–ด๋Š ์‹œ์ ์— Class ๋กœ๋”ฉ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์ƒ์œ„ Class Loader๊ฐ€ Lodingํ•œ Class๊ฐ€ 
      ์šฐ์„ ๊ถŒ์„ ๊ฐ€์ง„๋‹ค. 

   - Have visibility constraint
     Child Class Loader๋Š” Parent Class Loader์˜ Clss๋ฅผ ์ฐพ์„์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

   - Cannot unload classes
      Class Loader์— ์˜ํ•ด์„œ Loading๋œ Class๋“ค์€ unload ๋ ์ˆ˜๊ฐ€ ์—†๋‹ค.



3. Class Loader ์œ„์ž„
   -

์˜†์˜ ๊ทธ๋ฆผ์€ class loader delegation model ์ด๋‹ค.
     ์ด๋Š” Loading์š”์ฒญ์„ ์„œ๋กœ ์—๊ฒŒ
     ์ „๋‹ฌ ํ•˜๋Š” ClassLoader์˜ ๊ทธ๋ž˜ํ”„
     ์ด๋‹ค. 

     ์˜†์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Class Loader
     ๋“ค์€ ํ•˜๋‚˜์˜ delegation parent์™€
     ํ•จ๊ป˜์ƒ์„ฑ๋˜๊ณ  ๋‹ค์Œ ์œ„์น˜ ์—์„œ
     Class๋ฅผ ์ฐพ๋Š”๋‹ค.

     * ๋‹ค์Œ ์œ„์น˜๋ž€
      Cache, Parent, Self

    CalssLoader๊ฐ€ ์ตœ์ดˆ ํ•˜๋Š” ์ผ์€
    ์ „์—๋„ ๊ฐ™์€ Class๋ฅผ Loading
    ํ•˜๋„๋ก ์š”์ฒญ์„ ๋ฐ›์•˜๋Š”์ง€๋ฅผ
    ๋จผ์ € ํŒŒ์•…ํ•œ๋‹ค.

    ๋งŒ์•ฝ ์š”์ฒญ์„ ๋ฐ›์€์ ์ด ์žˆ์œผ๋ฉด,
    Cache์— ์ €์žฅ๋œ Class๋ฅผ
    ๋ฆฌํ„ด ํ•œ๋‹ค.

    ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ,
    Parent Class๋ฅผ Loading ํ• 
    ๊ธฐํšŒ๋ฅผ ์ค€๋‹ค.

    ์ด๋Ÿฌํ•œ ๋‘ ๋‹จ๊ณ„๋“ค์ด ๋ฐ˜๋ณต๋˜๊ณ  Depth First ๋ฐฉ์‹์œผ๋กœ ํƒ์ƒ‰์ด ์ง„ํ–‰ ๋œ๋‹ค.

    ๋งŒ์•ฝ Parent Class์—๋„ ํ•ด๋‹น Class๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด (ClassNotFoundException)
    ClassLoader๋Š” Class์˜ ์†Œ์Šค์— ๋Œ€ํ•œ ๊ณต์œ (์ž‘์—…ํ•œ ์ฝ”๋“œ)์˜ ๊ฒฝ๋กœ (Self)๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

    Parent ClassLoader๋Š” Class๋ฅผ ์ฒ˜์Œ์œผ๋กœ loadingํ•  ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— Root์—
    ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ClassLoader์— ์˜ํ•ด ๋กœ๋”ฉ ๋œ๋‹ค.

   ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ bootstrap class๋“ค์€ java.lang.Object๊ฐ™์€ ์ •ํ™•ํ•œ ํด๋ž˜์Šค ๋ฒ„์ „์ด ๋กœ๋”ฉ๋˜์—ˆ๋Š”์ง€๋ฅผ
   ํ™•์ธํ•˜๊ณ , Class Loader๊ฐ€ ๊ทธ ์ž์ฒด ๋˜๋Š” ๋ถ€๋ชจ(Parent)์— ์˜ํ•ด์„œ Loading ๋˜์—ˆ๋Š”์ง€๋ฅผ
   Class๊ฐ€ ๋ถˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์œ„์—์„œ ๋งํ–ˆ๋‹ค ์‹ถ์ด ์ž์‹์— ์˜ํ•ด Loading๋œ Class ๋“ค์€ ๋ณผ ์ˆ˜ ์—†๋‹ค. 


   - Bootstrap Class Loader
   ๋‹ค๋ฅธ ClassLoader๋“ค๊ณผ๋Š” ๋‹ฌ๋ฆฌ Bootstrap Class Loader ๋Š” ์ž๋ฐ” ์ฝ”๋“œ์— ์˜ํ•ด์„œ
   instanceํ™” ๋  ์ˆ˜ ์—†๋‹ค
   Bootstrap ClassLoader ๋Š” Boot ClassPath์—์„œ ํ•ต์‹ฌ ์‹œ์Šคํ…œ Class๋“ค์„ ๋กœ๋”ฉํ•˜๋Š”๋ฐ
   ์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ JavaHome์˜ jre/lib ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” JAR ํŒŒ์ผ๋“ค์ด๋‹ค.
   ๋‹จ -Xbootclasspath ์˜ต์…˜์œผ๋กœ classpath๋ฅผ ์ถ”๊ฐ€ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.


   - Extension Class Loader
   ์ฃผ๋กœ jre/lib/ext ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ํ•œ Extension ๋””๋ ‰ํ† ๋ฆฌ์—์„œ Class ๋“ค์„ Loading ํ•œ๋‹ค. 
   ์‚ฌ์šฉ์ž์˜ classpath๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ํ™•์žฅ ๊ฐ™์€ ์ƒˆ๋กœ์šด ํ™•์ž์œผ๋กœ ์‰ฝ๊ฒŒ
   ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณต ํ•œ๋‹ค.

   - System Class Loader 
   CLASSPATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ง€์ •๋œ ๊ฒฐ๋กœ์—์„œ ์ฝ”๋“œ๋ฅผ ๋กœ๋”ฉ ํ•œ๋‹ค. 
   ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด Class Loader๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑํ•œ ๋ชจ๋“  ClassLoader์˜ Parent ์ด๋‹ค. 


  
4. Class Loding ๋‹จ๊ณ„ 
   - Class Loadig์€ Loading, Linking, initialzing ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค.

   - ๋Œ€๋ถ€๋ถ„์˜ Class Loading๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋Š” ์ด ์„ธ๋‹จ๊ณ„ ์ค‘ ํ•œ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

   - ๋กœ๋”ฉ ๋‹จ๊ณ„๋Š” ํ•„์š”ํ•œ Class File์„ ๋ฐฐ์น˜ํ•˜๊ณ  ByteCode๋กœ Loadingํ•˜๋Š” ๋‹จ๊ณ„ ์ด๋‹ค.

   - JVM์˜ ๋กœ๋”ฉ ํ”„๋กœ์„ธ์Šค๋Š” Class ๊ฐ์ฒด์— ๋งค์šฐ ๊ธฐ๋ณธ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
     ๋ฉ”์†Œ๋“œ, ํ•„๋“œ, ๊ธฐํƒ€ ์ฐธ์กฐ Class ๋“ค์ด ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค.

 
   - Linking์€ ์„ธ ๋‹จ๊ณ„ ์ค‘์—์„œ ๊ฐ€์žฅ ๋ณต์žกํ•œ ๋‹จ๊ณ„์ด๋‹ค. ๋‹ค๋ฆ„๊ณผ ๊ฐ™์ด ์„ธ ๊ฐœ์˜ ์ฃผ์š” ๋‹จ๊ณ„๋“ค๋กœ ๋‚˜๋‰œ๋‹ค. 
     ใ„ฑ. ByteCode ํ™•์ธ - ByteCode๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ ํ•˜๋Š”์ง€ ํ™•์ธ ํ•œ๋‹ค. 
     ใ„ด. Class Preparation - Class ์—์„œ ์ •์˜๋œ ํ•„๋“œ, ๋ฉ”์†Œ๋“œ, ์ธํ„ฐํŽ˜์ž‡ ๋“ค์„ ๋‚˜ํƒ€๋‚ด๋Š” 
                                       ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ค€๋น„ํ•œ๋‹ค. 
     ใ„ท. Resolving - Class ์— ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฐธ์กฐ๋œ ๋ชจ๋“  Class๋“ค์„ Loadingํ•œ๋‹ค. 
                         - super class, interface, fild, method signature, local fild

   - initialize ๋‹จ๊ณ„ ๋™์•ˆ, Class ๋‚ด์— ํฌํ•จ๋œ ์ •์  initializer๋“ค์ด ์‹คํ–‰๋œ๋‹ค. ์ด ๋‹จ๊ณ„์˜ ๋์— ๊ฐ€์„œ๋Š” 
     ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค. 

   - ์ด ์„ธ ๋‹จ๊ณ„๋ฅผ ์ง€๋‚˜๋ฉด Class๋Š” ์™„์ „ํžˆ ๋กœ๋”ฉ๋˜๊ณ  ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋œ๋‹ค. 
     Class Loading์€ Lazy๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ Class Loading Processor ๋Š” 
     Loading ์‹œ์ ์™ธ์— ์ฒ˜์Œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ˆ˜ํ–‰๋  ์ˆ˜๋„ ์žˆ๋‹ค.   


5. Explicit Loading vs Implicit Loading
   - ํด๋ž˜์Šค๊ฐ€ ๋กœ๋”ฉ๋˜๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ์‹์˜ ์ฐจ์ด
   - Explicit : ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋”ฉ๋  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.
                  - (java.lang.ClassLoader).loadClass()
                  - Class.forName()
   - ์ด๋Ÿฌํ•œ ๋ฉ”์†Œ๋“œ๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ˜ธ์ถœ ๋˜๋ฉด ์ด๋ฆ„์ด ์ธ์ž๋กœ ์ง€์ •๋œ ํด๋ž˜์Šค๊ฐ€ ํด๋ž˜์Šค ๋กœ๋”์— ์˜ํ•ด์„œ
     ๋กœ๋”ฉ
๋œ๋‹ค. 
     ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๋กœ๋”๋Š” ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•˜๊ธฐ ์œ„ํ•ด delegation model์„ ์‚ฌ์šฉํ•œ๋‹ค.
 
   - Implicit : Class ๊ฐ€ ๋ ˆํผ๋Ÿฐ์Šค, ์ธ์Šคํ„ด์Šคํ™”, ๋ช…์‹œ์  ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์„ ์ œ์™ธํ•œ ์ƒ์†์˜ ๊ฒฝ์šฐ ๋กœ๋”ฉ๋˜๋Š” ๋ฐฉ์‹
                   ์ด ๊ฒฝ์šฐ ์Šฌ๊ทธ๋จธ๋‹ˆ ๋กœ๋”ฉ์ž‘์—…์€ ์ดˆ๊ธฐํ™”๋˜๊ณ  JVM์€ ํ•„์š”ํ•œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๊ฒฐ์ •ํ•˜์—ฌ
                   ๋งŒ์•ฝ ๋กœ๋”ฉ์ด ๋˜์–ด ์žˆ์œผ๋ฉด ๋ ˆํผ๋Ÿฐ์Šค๋งŒ ๋ฆฌํ„ด๋˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ธ๋ฆฌ๊ฒŒ์ด์…˜ ๋ชจ๋ธ์„
                   ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ๋กœ๋”ฉํ•˜๊ฒŒ ๋œ๋‹ค. 

   


์ฐธ๊ณ  ์ž๋ฃŒ:
http://www.ibm.com/developerworks/java/library/j-dclp1/index.html?S_TACT=105AGX02&S_CMP=EDU
๋ฐ ์ธํ„ฐ๋„ท ๋ฌธ์„œ



์ถœ์ฒ˜ : http://liebus.tistory.com/30



๐Ÿ’ป Programming/WAS

[JBoss 7] LogManager ์˜ค๋ฅ˜

standalone์œผ๋กœ jboss ์‹คํ–‰์‹œ์ผฐ์„ ๋•Œ ์•„๋ž˜์ฒ˜๋Ÿผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


1.

Exception in thread "main" java.lang.ExceptionInInitializerError
        at org.jboss.as.server.Main.main(Main.java:73)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.modules.Module.run(Module.java:260)
        at org.jboss.modules.Main.main(Main.java:291)
Caused by: java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
        at org.jboss.logmanager.Logger.getLogger(Logger.java:60)
        at org.jboss.logmanager.log4j.BridgeRepositorySelector.<clinit>(BridgeRepositorySelector.java:42)
        ... 7 more



2.

WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager
Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.jboss.as.server.Main.main(Main.java:73)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.modules.Module.run(Module.java:260)
    at org.jboss.modules.Main.main(Main.java:291)
Caused by: java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
    at org.jboss.logmanager.Logger.getLogger(Logger.java:60)
    at org.jboss.logmanager.log4j.BridgeRepositorySelector.(BridgeRepositorySelector.java:42)
    ... 7 more



์œ„ ๋‘ ๊ฐœ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

standalone.conf ํŒŒ์ผ์„ ์—ด์–ด์„œ ์•„๋ž˜ ๋ผ์ธ์ฒ˜๋Ÿผ ์ƒ๊ธด ๊ณณ์„ ์ฐพ์€๋‹ค์Œ์— ์•„๋ž˜์ฒ˜๋Ÿผ ์ˆ˜์ •ํ•ด์ฃผ์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค.

ํ™•์ธํ•˜์…”์•ผ ํ•  ๋ถ€๋ถ„(์—†๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„)์„ ๋ถ‰์€ ์ƒ‰์œผ๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.


if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager"
fi
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/org/jboss/logmanager/main/jboss-logmanager-1.3.1.jar"


Android Studio ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ์ง‘์ž…๋‹ˆ๋‹ค.


์ฐธ๊ณ ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๊ฐ€ ์ธํ…”๋ฆฌJ๊ธฐ๋ฐ˜์ด๋ผ๋Š” ๊ฑด ๋‹ค๋“ค ์•„์‹œ์ฃ ?


๊ทธ๋ž˜์„œ ์ธํ…”๋ฆฌJ์™€ ๋‹จ์ถ•ํ‚ค๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.


์ธํ…”๋ฆฌJ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์œผ์‹  ์ € ๊ฐ™์€ ๋ถ„๋“ค์€ ์ฒจ๋ถ€ํŒŒ์ผ๋กœ ์˜ฌ๋ ค๋†“์•˜์œผ๋‹ˆ ๋‹ค์šด๋ฐ›์•„์„œ ํ”„๋ฆฐํŠธํ•ด๋†“๊ณ  ๋ณด์‹œ๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™๋„ค์š” ^-^


์ฒจ๋ถ€ํŒŒ์ผ์€ ์œˆ๋„์šฐ ๋ฒ„์ „๊ณผ Mac OS ๋ฒ„์ „ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.


IntelliJIDEA_ReferenceCard.pdf


IntelliJIDEA_ReferenceCard_Mac.pdf


๐Ÿ’ป Programming/WAS

[Jeus 6] baseport ์ˆ˜์ • ๋ฐฉ๋ฒ•

์•„๋ž˜ ๋‘ ๊ฐœ ํŒŒ์ผ์—์„œ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


$JEUS_HOME/config/vhost.properties

$JEUS_HOME/bin/jeus.properties


[jeus@mycom config]$ cat vhost.properties
jeus.vhost.enabled=true
myhost=myhost:19736
example=myhost:21000


[bxtap4wje@Emerald bin]$ vi jeus.properties

.

.

# set up JEUS_BASEPORT.
 #JEUS_BASEPORT=9736
 JEUS_BASEPORT=19736
.

.


JEUS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ webadmin ํฌํŠธ๋ฅผ baseport + 8 ๋กœ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์›น์–ด๋“œ๋ฏผ ํฌํŠธ๋„ ๋ณ€๊ฒฝ๋จ์— ์œ ์˜ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ์˜ˆ์—์„œ๋Š” 19744๋กœ ์ ‘์†์„ ํ•˜์…”์•ผ ๊ฒ ์ฃ 

ํŒŒ์ผ: accounts.xml
ํ•ด๋‹น ํŒŒ์ผ์—์„œ ์•„๋ž˜ <password> ๋ถ€๋ถ„์„ copy & paste ํ•˜๋ฉด ๋จ

 vi  $JEUS_HOME/config/$SERVERNAME/security/SYSTEM_DOMAIN/accounts.xml
----------------------------------------------------------------------------------------------------------
 <?xml version="1.0"?>
<accounts xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="6.0">
      <users>
        <user>
            <name>administrator</name>
            <password>{base64}amV1c2FkbWlu</password>
            <group>Administrators</group>
        </user>
    </users>
    <groups>
        <group>
            <description>A group for administrators</description>
            <name>Administrators</name>
        </group>
    </groups>
</accounts>
----------------------------------------------------------------------------------------------------------
๋‹ค๋ฅธ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ง์ ‘ base64 ์ธ์ฝ”๋”ฉ์„ ํ•œ ํ›„, ๊ทธ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
๋‹จ, base64๋กœ ์ธ์ฝ”๋”ฉ ๋œ ๊ฒƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด {base64}๋Š” ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•œ๋‹ค.
 
์œˆ๋„์šฐ
 C:\Users\Administrator>java -classpath C:\TmaxSoft\JEUS6.0\lib\system\jeus.jar jeus.security.admin.Base64Coder encode jeusadmin
amV1c2FkbWlu

์œ ๋‹‰์Šค
java -classpath $JEUS_HOME/lib/system/jeus.jar jeus.security.admin.Base64Coder encode jeusadmin

amV1c2FkbWlu

java -classpath $JEUS_HOME/lib/system/jeus.jar jeus.security.admin.Base64Coder decode amV1c2FkbWlu

jeusadmin

ํŒ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ƒˆ๋กœ ๋„ฃ์„ ๊ฒฝ์šฐ
/$JEUS_HOME/bin/encryption base64 passwd
[base64] : [passwd] --> [encode:cGFzc3dk]
[base64] : [cGFzc3dk] --> [decode:passwd]

์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ ๊ฐ’์„ ์–ป์–ด์„œ accounts.xml ํŒŒ์ผ์— ๋นจ๊ฐ„์ƒ‰ ๋ถ€๋ถ„๊ณผ ๊ต์ฒด ํ›„ ์ €์žฅํ•˜๋ฉด ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : http://existence.tistory.com/60


CentOS 6๋ฅผ ์ฒ˜์Œ ์„ค์น˜ํ•˜๋ฉด Open JDK๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋“ค์ด ์“ฐ๊ธฐ์—๋Š” ๊ทธ๋‹ฅ ์ ํ•ฉํ•˜์ง€ ์•Š์€๊ฒƒ ๊ฐ™๋‹ค. ์ด๋Ÿฐ์ €๋Ÿฐ ๋ฌธ์ œ๋„ ์ข€ ์žˆ๋Š”๊ฒƒ ๊ฐ™๊ณ . ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ alternatives์— ๋Œ€ํ•ด์„œ ๋ณด๊ฒŒ๋˜์—ˆ๋‹ค.


[root@mycom ~]# alternatives


๋Œ€์ฒด ๋ฒ„์ „ 1.3.49.3 - Copyright (C) 2001 Red Hat, Inc.
GNU Public Licenseํ•˜์—์„œ ์ด ํ”„๋กœ๊ทธ๋žจ์„
์ž์œ ๋กญ๊ฒŒ ์žฌ๋ฐฐํฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ๋ฒ•: alternatives --install <๋งํฌ> <์ด๋ฆ„> <๊ฒฝ๋กœ> <์šฐ์„ ์ˆœ์œ„>
                    [--initscript <์„œ๋น„์Šค>]
                    [--slave <๋งํฌ> <์ด๋ฆ„> <๊ฒฝ๋กœ>]*
       alternatives --remove <์ด๋ฆ„> <๊ฒฝ๋กœ>
       alternatives --auto <์ด๋ฆ„>
       alternatives --config <์ด๋ฆ„>
       alternatives --display <์ด๋ฆ„>
       alternatives --set <์ด๋ฆ„> <๊ฒฝ๋กœ>

์ผ๋ฐ˜ ์˜ต์…˜: --verbose --test --help --usage --version
                --altdir <๋””๋ ‰ํ† ๋ฆฌ> --admindir <๋””๋ ‰ํ† ๋ฆฌ>


์—ฌ๊ธฐ์„œ ์ € alternatives๋ผ๋Š” ์‹คํ–‰ํŒŒ์ผ์˜ ์‹ค์ œ๊ฒฝ๋กœ๋Š” /usr/sbin/alternatives ์ด๋‹ค.


์š”๋†ˆ์ด ๋ฌด์Šจ ์ผ์„ ํ•˜๋Š๋ƒํ•˜๋ฉด ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์ด ๋งํฌ์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๋…€์„๋“ค์„ ์˜ต์…˜์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์ €์žฅ์„ ํ•ด๋†“์•˜๋‹ค๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๋งˆ๋‹ค ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.


๊ทธ๋Ÿผ ์ง€๊ธˆ ๋‚ด ์ปดํ“จํ„ฐ์—๋Š” java๋ช…๋ น์–ด์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ์‹คํ–‰ํŒŒ์ผ๋“ค์ด ๋ช‡๊ฐœ๋‚˜ ๋˜๋Š”์ง€ ํ•œ๋ฒˆ ๋ณผ๊นŒ?


[root@mycom ~]$ /usr/sbin/alternatives --config java

1 ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด 'java'๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  ์„ ํƒ    ๋ช…๋ น
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

ํ˜„์žฌ ์„ ํƒ[+]์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ , ์•„๋‹ˆ๋ฉด ์„ ํƒ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค:


์ž, ์ด๋Ÿฐ์‹์œผ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ๋‚˜์˜จ๋‹ค.


์ด์ œ ์„ ํƒ์˜ต์…˜์„ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด๋ณด์ž.


[root@Emerald ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_45/bin/java 2

[root@Emerald ~]# alternatives --config java

2 ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด 'java'๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  ์„ ํƒ    ๋ช…๋ น
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/java/jdk1.6.0_45/bin/java

ํ˜„์žฌ ์„ ํƒ[+]์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ , ์•„๋‹ˆ๋ฉด ์„ ํƒ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค:2


alternatives --install ๋ช…๋ น์„ ์ด์šฉํ•˜์—ฌ /usr/bin/java ๋งํฌ์— /usr/java/jdk1.6.0_45/bin/java๋ฅผ java๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์—ฐ๊ฒฐ์„ ์‹œ์ผฐ๊ณ  ์šฐ์„ ์ˆœ์œ„๋ฅผ 2๋กœ ์ฃผ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  alternatives --config ๋ช…๋ น์„ ์ด์šฉํ•ด์„œ ์„ ํƒ์„ 2๋ฒˆ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค.


์ด๋ ‡๊ฒŒ ์˜ต์…˜์œผ๋กœ ๋ช…๋ น์–ด์˜ ๋งํฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋ฆ„ ์œ ์šฉํ•œ ํŒ์ด ์•„๋‹๊นŒ ์‹ถ๋‹ค.


๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ๊ธ€๋ง์ด๋‚˜ manํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค~~~









๐Ÿ’ป Programming/Oracle 11g

ORA-01157: cannot identify/lock data file

ORA-01157: cannot identify/lock data file

๋ฐ์ดํƒ€ ํŒŒ์ผ์„ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค๊ฐ€ DB์žฌ์‹œ์ž‘ํ•˜๊ฒŒ๋˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

๋‚ด๊ฐ€ ์•„๋‹Œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ dbf์ƒ์„ฑํ–ˆ๋‹ค๊ฐ€ drop๋ช…๋ น์„ ์“ฐ์ง€์•Š๊ณ  unix ์ฝ˜์†”์—์„œ dbfํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐœ์ƒํ•˜๊ฒŒ๋˜๋Š” ์˜ค๋ฅ˜์ธ๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



ERROR at line 1:
ORA-01157: cannot identify/lock data file 29 - see DBWR trace file
ORA-01110: data file 29:
'/opt/oracle/product/oracle9i/dbs/C:oracleproduct10.2.0oradatapentahoptho_ts.dbf
'

from above datafile name you have realized that its a kinda jerk :s someone has made a datafile with no sense and then he/she have removed the file by O.S command, but he/she did'nt updated database about it !

So during the test when we were starting this database it came untill mount stage and then got stuck !!! i.e.

Problem:

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 29 - see DBWR trace file
ORA-01110: data file 29:
'/opt/oracle/product/oracle9i/dbs/C:oracleproduct10.2.0oradatapentahoptho_ts.dbf
'

so to fix it, i did following:

Solution:


SQL>alter database datafile 29 OFFLINE DROP;
SQL>alter database open;


์ถœ์ฒ˜ : http://nayyares.blogspot.kr/2009/08/ora-01157-cannot-identifylock-data-file.html


์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋กœ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•  ์ƒํ™ฉ์ด ์žˆ๋‹ค.

Drop table๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ์ง€์šฐ๊ธฐ์— ๋„ˆ๋ฌด ์–‘์ด ๋งŽ์„๋•Œ ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ํ•œ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

๊ทธ ๋ฐฉ๋ฒ•์„ ์•„๋ž˜์— ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค.

 

๋จผ์ € sql์— ์ ‘์†ํ•œ ํ›„

 

SQL> Begin

2    for c in (select table_name from user_tables) loop

3    execute immediate ('drop table '||c.table_name||' cascade constraints');

4    end loop;

5    End;

6    . <- ์ฉœ ์ฐ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—”ํ„ฐ

 

์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด

 

SQL>

 

๋‹ค์‹œ ์ด๋ ‡๊ฒŒ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋œจ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋œฌ๋‹ค.

 

SQL> run

์„ ์‹คํ–‰ํ•œ๋‹ค.

์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜ ๊ตฌ๋ฌธ์ด ๋‚˜์˜ฌ๊ฒƒ์ด๋‹ค.

 

1    Begin

 

2    for c in (select table_name from user_tables) loop

3    execute immediate ('drop table '||c.table_name||' cascade constraints');

4    end loop;

5    End;

PL/SQL procedure successfully completed.<--๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต

 

๊ทธ ํ›„์—

SQL> purge recyclebin; 

Recyclebin purged.<===ํœด์ง€ํ†ต์ด ๋น„์›Œ์กŒ๋‹ค๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜จ๋‹ค.

 

๊ทธํ›„ select * from tab;์„ ํ•ด๋ณด๋ฉด ๊นจ๋—ํžˆ ์ง€์›Œ์ง„ ํ…Œ์ด๋ธ”์„ ๋ณผ ์ˆ˜ ์žˆ์„๊ฒƒ์ด๋‹ค.




์ถœ์ฒ˜ : http://munjee.tistory.com/16

IBMํ™ˆํŽ˜์ด์ง€ ํ†ตํ•ด์„œ WebSphere 8 ์ด์ „ ๋ฒ„์ „์„ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ์ฐธ ์ฐพ์•„ํ—ค๋งค๋‹ค๊ฐ€ ๊ทธ๋ƒฅ ๊ตฌ๊ธ€๋งํ–ˆ๋”๋‹ˆ ๋–ก!! ํ•˜๋‹ˆ ๋‚˜์˜จ ์ด๊ณณ.


https://www.genuitec.com/products/myeclipse/download/websphere-developers/


WebSphere 6, 7 ๋งํฌ๋„ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค!!!

WAS๋ฅผ ์ดํ‹€ ๋™์•ˆ ๋‹ค์„ฏ์ข…๋ฅ˜์— ๋Œ€ํ•ด์„œ ์„ค์น˜ํ•ด๋ณด๋‹ค๋ณด๋‹ˆ๊นŒ ๊ฐ WAS๋งˆ๋‹ค ์šฉ์–ด ๋ฐ ๊ฐœ๋…์ด ๋„ˆ๋ฌด ๋‹ค๋ฅธ๊ฒŒ ๋งŽ์•„์„œ ๊ณ ์ƒํ•˜๊ณ ์žˆ๋Š”์ฐธ์— ์ •๋ง ์ž˜ ์ฐพ์€ ์ž๋ฃŒ๊ฐ€ ์žˆ์–ด์„œ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : http://antop.tistory.com/7





๋„๋ฉ”์ธ์ด๋ž€? ๊ด€๋ฆฌ์ ์ธ ๊ฐœ๋…์œผ๋กœ์„œ ๋‹จ์ผ Administration Server๋กœ ๊ด€๋ฆฌํ•˜๋Š” Server, Machine ๋ฐ Cluster์˜ ๊ทธ๋ฃน(์ธํ„ฐ๋„ท ๋„๋ฉ”์ธ x)


- ์‹œ์ž‘ โ†’ ํ”„๋กœ๊ทธ๋žจ โ†’ Oracle WebLogic โ†’ WebLogic Server 10gR3 โ†’ Tools โ†’ Configuration Wizard


- Create a new WebLogic domain ์„ ํƒ




- Generate a domain configured automatically to support to following products ์„ ํƒ



- User name๊ณผ User password ์„ค์ •



- ์„œ๋ฒ„ ๋ชจ๋“œ(๊ฐœ๋ฐœ, ์šด์šฉ) ๋ฐ JDK ์„ค์ •



- ๋‹ค๋ฅธ ์˜ต์…˜๋“ค ์ถ”๊ฐ€ ์„ค์ •



- ๋„๋ฉ”์ธ ์ด๋ฆ„, ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •



- ๋„๋ฉ”์ธ ์ƒ์„ฑ ์™„๋ฃŒ





โ€ป html, jsp, Servlet ํ…Œ์ŠคํŠธ



์ด ํŒŒ์ผ์—๋Š” ๊ฐ„๋‹จํ•œ index.html sum.jsp HelloServlet.java ํŒŒ์ผ์ด ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค.

Test.war ํŒŒ์ผ์„ ๋ฐฐ์น˜ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ํ•ด๋ด…์‹œ๋‹ค.


- Test.war ํŒŒ์ผ์„ ์ ๋‹นํ•œ ์œ„์น˜๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค.



- ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์‹œ์ž‘ โ†’ ํ”„๋กœ๊ทธ๋žจ โ†’ Oracle WebLogic โ†’ User Projects โ†’ base_domain โ†’ Start Admin Server for Weblogic Server Domain



Administration Console์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.



- ์™ผ์ชฝ์˜ Domain Structure ํŠธ๋ฆฌ์—์„œ Deployments๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.



- Install ํด๋ฆญ



- ๋ฐฐ์น˜ํ•  ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ war, jar ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์„ ํƒ์ด ๋˜์ง€ ์•Š์œผ๋ฉด ์ž˜๋ชป ์ž‘์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.



- Next ํด๋ฆญ



- Finish ํด๋ฆญ.(๋” ์ž์„ธํ•œ ์„ค์ •์„ ํ•˜๋ ค๋ฉด Next๋กœ ๋” ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)



- war ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ๋ฐฐ์น˜(deploy) ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.



- html ํ…Œ์ŠคํŠธ



- jsp ํ…Œ์ŠคํŠธ



- Servlet ํ…Œ์ŠคํŠธ


์›น๋กœ์ง default ์–ด๋“œ๋ฏผ ์„œ๋ฒ„ ํฌํŠธ(7001) ๋ณ€๊ฒฝ

 

<Aug 16, 2011 5:03:50 PM GMT+09:00> <Emergency> <Security> <BEA-090087> <Server failed to bind to the configured Admin port. The port may already be used by another process.>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: Server failed to bind to any usable port. See preceeding log message for details.>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Error> <Server> <BEA-002606> <Unable to create a server socket for listening on channel "Default[2]". The address 127.0.0.1 might be incorrect or another process is using port 7001: java.net.BindException: Address already in use.>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Error> <Server> <BEA-002606> <Unable to create a server socket for listening on channel "Default". The address 192.168.213.132 might be incorrect or another process is using port 7001: java.net.BindException: Address already in use.>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Error> <Server> <BEA-002606> <Unable to create a server socket for listening on channel "Default[3]". The address 0:0:0:0:0:0:0:1 might be incorrect or another process is using port 7001: java.net.BindException: Address already in use.>
<Aug 16, 2011 5:03:50 PM GMT+09:00> <Error> <Server> <BEA-002606> <Unable to create a server socket for listening on channel "Default[1]". The address fe80:0:0:0:20c:29ff:fee0:753c might be incorrect or another process is using port 7001: java.net.BindException: Address already in use.>

 

ํ•˜๋‚˜์˜ ์›น๋กœ์ง ๋จธ์‹ ์— ์—…๋ฌด์ƒ ๋‹ค์ˆ˜์˜ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ,
๊ธฐ๋ณธ ํฌํŠธ๊ฐ€ 7001์ธ ์›น๋กœ์ง ์„œ๋ฒ„ ๋„๋ฉ”์ธ์˜ ์–ด๋“œ๋ฏผ ์„œ๋ฒ„ ๊ตฌ๋™์‹œ ํฌํŠธ ์ถฉ๋Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์ด๋Ÿด ๊ฒฝ์šฐ ๋Œ€์ฒ˜ ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

์›น๋กœ์ง ๋„๋ฉ”์ธ ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ›„ ์žฌ๊ธฐ๋™ ํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

1. DOMAIN_HOME/config/config.xml
   

    <name>AdminServer</name>
    <listen-address/>


์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์ด ์กด์žฌํ•˜๋Š”๋ฐ์š”, ์—ฌ๊ธฐ์„œ <name>ํƒœ๊ทธ ์•„๋ž˜ ๋ถ€๋ถ„์— <listen-port>ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ›„ ์žฌ๊ธฐ๋™์„ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    <name>AdminServer</name>
    <listen-port>7000</listen-port>
    <listen-address/>


์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ฆ‰, ์›น๋กœ์ง ์„œ๋ฒ„์—๋Š” ๋‹ค์ˆ˜์˜ ๋„๋ฉ”์ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์€ ๊ฐ๊ฐ์˜ ์ฝ˜์†”์ด ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ˜น์‹œ, <listen-port>๋ฅผ <listen-address>์•„๋žซ๋ถ€๋ถ„์— ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์ฃผ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

<Aug 16, 2011 5:32:37 PM GMT+09:00> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: [Management:141245]Schema Validation Error in /home/oracle/Middleware/domains/base_domain/base_domain/config/config.xml see log for details. Schema validation can be disabled by starting the server with the command line option: -Dweblogic.configuration.schemaValidationEnabled=false>
<Aug 16, 2011 5:32:37 PM GMT+09:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Aug 16, 2011 5:32:37 PM GMT+09:00> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
<Aug 16, 2011 5:32:37 PM GMT+09:00> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>

 

 

 

์ถœ์ฒ˜ : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0F6LZ&articleno=12283804

 

 

 

 

 

How to workaround WebLogic terminalio not found error

In some PC environments, you may have encounter error like following when trying to create and start a WebLogic Server domain admin server

<Mar 10, 2014 9:40:58 AM EDT> <Error> <Security> <BEA-090783> <Server is Running in Development Mode and Native Library(terminalio) to read the password securely from commandline is not found.><Mar 10, 2014 9:40:58 AM EDT> <Notice> <WebLogicServer> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>
<Mar 10, 2014 9:40:58 AM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>

After this unfriendly message, your process will just exit and won't start at all! One quick fix for this is to try add this sys props -Dweblogic.management.allowPasswordEcho=true This will force the password prompt to echo out on console though, but at least it will start your server. And once the domain is created, you may restart it again without prompting password.

Ref: http://saltnlight5.blogspot.kr/2014/03/how-to-workaround-weblogic-terminalio.html



์ž๋ฐ” ์˜ต์…˜์— ๋ถ‰์€ ๊ธ€์”จ๋กœ ๋œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•ด์„œ ์‹คํ–‰ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

TMAX์—์„œ ๋งŒ๋“  JEUS ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ข‹์€ ํŒ


์„œ๋ฒ„ ๊ธฐ๋™, ์ค‘์ง€, ์–ด๋“œ๋ฏผ ์‚ฌ์šฉ์„ ์ข€ ๋” ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•„๋ž˜์™€๊ฐ™์ด jboot, jdown, jadmin ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


# vi jboot

jeus -xml -Uadministrator -Pjeusadmin &
:wq


# vi jdown
jeusadmin `hostname` -Uadministrator -Pjeusadmin jeusexit
:wq

# vi jadmin
jeusadmin `hostname` -Uadministrator -Pjeusadmin
:wq


-U ์˜ต์…˜์— ๋”ฐ๋ผ์˜ค๋Š” ๊ฐ’์€ admin์˜ ID

-P ์˜ต์…˜์— ๋”ฐ๋ผ์˜ค๋Š” ๊ฐ’์€ admin๊ณ„์ •์˜ ํŒจ์Šค์›Œ๋“œ ์ž…๋‹ˆ๋‹ค.


์„ค์น˜ํ•  ๋•Œ ์„ค์ •ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



1. ์ค€๋น„์‚ฌํ•ญ
๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ํ™˜๊ฒฝ์— JAVA ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

2. JBOSS ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์ •

3. JBOSS start/stop/restart ์Šคํฌ๋ฆฝํŠธ ๋งŒ๋“ค๊ธฐ

 

4. JBOSS ๋ฐ”์ธ๋”ฉ ๋ณ€๊ฒฝ

5. ์›น์ ‘์† ํ™•์ธ
์›น๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— http://IP์–ด๋“œ๋ ˆ์Šค:8080 ์ž…๋ ฅํ•˜์—ฌ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

jboss

6. JBOSS Admin ์ฝ˜์†”์ ‘์†

 

์›น๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— http://ip์–ด๋“œ๋ ˆ์Šค:9990 ํ•˜์—ฌ ๊ด€๋ฆฌ์ฝ˜์†”๋กœ ์ ‘์† ํ•ฉ๋‹ˆ๋‹ค.

jboss2

jboss3

์ฐธ์กฐ : http://www.davidghedini.com/pg/entry/install_jboss_7_on_centos

๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์— ์›น์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•œ๋‹ค๋˜๊ฐ€ ํ•  ๋•Œ์— ํ”Œ๋žซํผ์— ๋งž์ถฐ์„œ ์„ค์น˜๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ ์ด๋•Œ ํ”Œ๋žซํผ์ด ๋ญ”์ง€ ๊นŒ๋จน๊ฑฐ๋‚˜ ๋‚ด๊ฐ€ ๋งŒ์ง€๋Š” ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ชจ๋ฅผ ์ˆ˜ ๋ฐ–์— ์—†์ฃ . ๊ทธ๋Ÿด ๋•Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


# uname -a


์ด๋ ‡๊ฒŒ ํ–ˆ์„ ๋•Œ ๋‘๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.


1) x86  ( 32bit )

2) x86_64 ( 64bit )


๊ฐ„๋‹จํ•˜์ฃ ?

์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์œผ๋กœ ์ œ์•ฝ์‚ฌํ•ญ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋ ค๋ฉด ์•„๋ž˜ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.


select * from user_constraints;



Keyboard Commands

The following tables list keyboard shortcuts for common operations.

Note: This section lists Android Studio keyboard shortcuts for the default keymap. To change the default keymap on Windows and Linux, go to File > Settings > Keymap. If you're using Mac OS X, update your keymap to use the Mac OS X 10.5+ version keymaps under Android Studio > Preferences > Keymap.



Table 1. Programming key commands

ActionAndroid Studio Key Command
Command look-up (autocomplete command name) CTRL + SHIFT + A
Project quick fix ALT + ENTER
Reformat code CTRL + ALT + L (Win)
OPTION + CMD + L (Mac)
Show docs for selected API CTRL + Q (Win)
F1 (Mac)
Show parameters for selected method CTRL + P
Generate method ALT + Insert (Win)
CMD + N (Mac)
Jump to source F4 (Win)
CMD + down-arrow (Mac)
Delete line CTRL + Y (Win)
CMD + Backspace (Mac)
Search by symbol name CTRL + ALT + SHIFT + N (Win)
OPTION + CMD + O (Mac)




Table 2. Project and editor key commands

ActionAndroid Studio Key Command
Build CTRL + F9 (Win)
CMD + F9 (Mac)
Build and run SHIFT + F10 (Win)
CTRL + R (Mac)
Toggle project visibility ALT + 1 (Win)
CMD + 1 (Mac)
Navigate open tabs ALT + left-arrow; ALT + right-arrow (Win)
CTRL + left-arrow; CTRL + right-arrow (Mac)



For a complete keymap reference guide, see the IntelliJ IDEA documentation.




์ถœ์ฒ˜ : http://developer.android.com/sdk/installing/studio-tips.html


์—ฌ๋Ÿฌ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ํ•œ๊บผ๋ฒˆ์— ์‚ญ์ œํ•˜๊ณ  ์‹ถ์€๋ฐ like ์กฐ๊ฑด์ ˆ์„ ์“ธ ์ˆ˜๊ฐ€ ์—†๋‹ค.

๋ญ ๊ฒฐ๊ตญ ํ…Œ์ด๋ธ” ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๊ฐ๊ฐ ์‚ญ์ œํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฑด๋ฐ....๊ทธ๋ ‡๋‹ค๊ณ  ํ…Œ์ด๋ธ”์ด ์ˆ˜ ์‹ญ๊ฐœ๊ฐ€ ๋„˜๋Š”๋ฐ ์ด๊ฑธ ๋‹ค ์†์œผ๋กœ ํƒ€์ดํ•‘ํ•˜๊ธฐ๋ž€ ์งœ์ฆํ•˜๋Š” ์ผ์ด ์•„๋‹ ์ˆ˜ ์—†๋‹ค.


์ด๋Ÿด ๋•Œ ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ํŠน์ • ์‚ฌ์šฉ์ž์˜ ์ „์ฒด ํ…Œ์ด๋ธ”์„ ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์–ป์–ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

SELECT 'DROP TABLE ' || TABLE_NAME || ';' FROM ALL_TABLES WHERE OWNER = 'user1';


์กฐ๊ฑด์ ˆ์€ ๋งˆ์Œ๋Œ€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ณ  ์œ„์—์„œ ์‚ฌ์šฉํ•œ ALL_TABLES๋Š” DBA๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.


๋”ฐ๋ผ์„œ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์ด๋ฉด์„œ ์ž์‹ ์ด ์†Œ์œ ํ•œ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•  ๋•Œ๋Š”


ALL_TABLES ๋Œ€์‹  USER_TABLES ์—์„œ ์กฐํšŒํ•œ ํ…Œ์ด๋ธ”๋ช…์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


SELECT 'DROP TABLE ' || TABLE_NAME || ';' FROM USER_TABLES WHERE OWNER = 'user2';


ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋ ค๋ฉด
SQL > drop table ํ…Œ์ด๋ธ”๋ช…;

ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค ์ด๊ฒŒ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ณต๊ฐ„์„ ๋‹ค์‹œ ๋‚ด์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.
์˜ค๋ผํด์˜ drop table๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ํ…Œ์ด๋ธ”์„ dropํ•  ๋•Œ purge๋ผ๋Š” ์˜ต์…˜์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด ํœด์ง€ํ†ต์œผ๋กœ ๋„ฃ๊ธฐ๋งŒ ํ•˜๊ณ  ๋ฌผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„์€ ๊ทธ๋Œ€๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์˜ ํœด์ง€ํ†ต ๊ฐœ๋…๊ณผ ๋™์ผํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋ผํด์ด 10g์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•œ 'ํœด์ง€ํ†ต' ์ด๋ผ๋Š” ๊ธฐ๋Šฅ.

ํ…Œ์ด๋ธ”์„ DROP ํ•˜๋”๋ผ๋„ ์–ธ์ œ๋˜์ง€ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๊ณ ์š”,
์œˆ๋„์šฐ์˜ ํœด์ง€ํ†ต๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

ํœด์ง€ํ†ต์— ๋“ค์€ ํ…Œ์ด๋ธ”์„ ์กฐํšŒ.
SQL> show recyclebin;

 

ํœด์ง€ํ†ต์˜ ๋ชจ๋“  ๋‚ด์šฉ์ด ๋น„์›Œ์ง‘๋‹ˆ๋‹ค.
SQL> purge recyclebin;

 

์‚ญ์ œ๋œ ํ…Œ์ด๋ธ”์„ ๋˜์‚ด๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด
SQL> flashback table ํ…Œ์ด๋ธ”๋ช… to before drop;

 

๋งŒ์•ฝ, ํŠน์ • ํ…Œ์ด๋ธ”์„ ํœด์ง€ํ†ต์— ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๋ชจ๋‘ ์‚ญ์ œํ•˜๋ ค๋ฉด..
SQL> drop table ํ…Œ์ด๋ธ”๋ช… purge;

 

purge๋ฌธ ์—†์ด ๊ทธ๋ƒฅ drop ํ•œ ํ›„์—๋Š”
SQL> purge table ํ…Œ์ด๋ธ”๋ช…;


์ž๋ฐ”๋Š” JVM์„ ์‹œ์Šคํ…œ ์œ„์— ์˜ฌ๋ ค์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ ๋ผ์ธ๊ตฌ๋ถ„์ž๋Š” ์œˆ๋„์šฐ ๊ณ„์—ด์ด๋ƒ ์œ ๋‹‰์Šค ๊ณ„์—ด์ด๋ƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.


์ด๋Ÿด๋•Œ ์ž๋ฐ”์—์„œ๋Š” ์‹œ์Šคํ…œ ํ”„๋กœํผํ‹ฐ๋กœ ๋ผ์ธ๊ตฌ๋ถ„์ž๊ฐ€ ๋ญ”์ง€๋ฅผ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


System.getProperty("line.separator");

์œ„ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ธ๊ตฌ๋ถ„์ž๋ฅผ String ์œผ๋กœ ์–ป์–ด์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.