2014년 6월 17일 화요일

JVM Parameter Samples (linux, sun hotspot, somf, saf, jms, )

app/jdk1.6.0_37/bin/java -server -DsmfSvr12 -server -Xms24g -Xmx24g -XX:NewSize=8g -XX:MaxNewSize=8g -XX:PermSize=2g -XX:MaxPermSize=2g -XX:ParallelGCThreads=16 -XX:ParallelCMSThreads=10 -XX:CMSInitiatingOccupancyFraction=90 -XX:+UseCMSInitiatingOccupancyOnly -XX:TargetSurvivorRatio=90 -XX:SurvivorRatio=4 -verbose:gc -Xloggc:/applog/smfDomain/GC/smfSvr12.gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+DisableExplicitGC -Dweblogic.wsee.useRequestHost=true -XX:+UseCompressedOops -XX:+ParallelRefProcEnabled -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+DisableExplicitGC -XX:CodeCacheMinimumFreeSpace=16m -XX:ReservedCodeCacheSize=1g -XX:-ClassUnloading -XX:-HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/app/javaio_tmp -Dfile.encoding=UTF-8 -Dosm.security.log.filename=/smfnas01/osmsecurity/smflog -Dpharos.home=/tools/pharos/pharos402 -Dpharos.agent=psmfap01_Svr12 -javaagent:/tools/pharos/pharos402/lib/pharos-loader.jar -Dweblogic.SAFTXTimeout=10 -Dweblogic.jms.saf.RefreshInterval=300000 -Dweblogic.debug.DebugJMSBackEnd=false -Dweblogic.debug.DebugJMSFrontEnd=false -Dweblogic.debug.JMSMessagePath=false -Dweblogic.MaxMessageSize=30000000 -Djava.net.preferIPv4Stack=true -Dweblogic.debug.DebugJDBCSQL=false -Dcom.mslv.oms.security.HandlerFactoryRegistry.HandlerFactory=com.mslv.oms.handler.cluster.ClusteredHandlerFactory -Doracle.communications.ordermanagement.orchestration.generation.model.ConcurrencyLevel=8 -Doracle.communications.ordermanagement.rule.XQueryConfigurationExpressionHolder.ConcurrencyLevel=5 -Dweblogic.ProductionModeEnabled=true -Dosm.disable.update.lock=true -Dosm.coherence.cluster.config.override=/smfnas01/smfpstore/osm-coherence-cluster-config.xml -Dtangosol.coherence.localhost=10.220.242.131 -Dtangosol.coherence.localport=12003 -Dtangosol.coherence.localport.adjust=false -Dtangosol.coherence.proxy.threads=10 -Dtangosol.coherence.invocation.threads=40 -Dtangosol.coherence.distributed.threads=10 -Dcom.mslv.oms.handler.cluster.ClusteredHandlerFactory.HighActivityOrder.CollectionCycle.Enabled=false -XX:+PrintPromotionFailure -XX:PrintFLSStatistics=1 -Dweblogic.Name=smfSvr12 -Djava.security.policy=/app/weblogic/wlserver_10.3/server/lib/weblogic.policy -Dmslv.oms.config=/app/domains/smfDomain/oms-config.xml -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore=/app/weblogic/wlserver_10.3/server/lib/cacerts -da -Dplatform.home=/app/weblogic/wlserver_10.3 -Dwls.home=/app/weblogic/wlserver_10.3/server -Dweblogic.home=/app/weblogic/wlserver_10.3/server -Dcommon.components.home=/app/weblogic/oracle_common -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=/app/domains/smfDomain -Djrockit.optfile=/app/weblogic/oracle_common/modules/oracle.jrf_11.1.1/jrocket_optfile.txt -Doracle.server.config.dir=/app/domains/smfDomain/config/fmwconfig/servers/smfSvr12 -Doracle.domain.config.dir=/app/domains/smfDomain/config/fmwconfig -Digf.arisidbeans.carmlloc=/app/domains/smfDomain/config/fmwconfig/carml -Digf.arisidstack.home=/app/domains/smfDomain/config/fmwconfig/arisidprovider -Doracle.security.jps.config=/app/domains/smfDomain/config/fmwconfig/jps-config.xml -Doracle.deployed.app.dir=/app/domains/smfDomain/servers/smfSvr12/tmp/_WL_user -Doracle.deployed.app.ext=/- -Dweblogic.alternateTypesDirectory=/app/weblogic/oracle_common/modules/oracle.ossoiap_11.1.1,/app/weblogic/oracle_common/modules/oracle.oamprovider_11.1.1 -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Dweblogic.jdbc.remoteEnabled=false -Dweblogic.management.discover=false -Dweblogic.management.server=psmfap00:7011 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/app/weblogic/patch_wls1036/profiles/default/sysext_manifest_classpath:/app/weblogic/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server

2014년 4월 21일 월요일

weblogic wlst workmanager monitoring

import thread
from java.util import Date
from java.text import SimpleDateFormat

# Configured user credentials with storeUserConfig

def monitorThrds():
    connect("weblogic", "
pwd", "t3://IP:Port");
    serverNames = getRunningServerNames()
    domainRuntime()


    for i in range(10000):
        print '[' + SimpleDateFormat('d MMM yyyy HH:mm:ss').format(java.util.Date()) + ']'
        for sname in serverNames:
            try:
                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/MaxThreadsConstraintRuntimes/MaxThreadConstraint-oms")
                automaxexecnt=get('ExecutingRequests')
                automaxdefcnt = get('DeferredRequests')

                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/MaxThreadsConstraintRuntimes/MaxThreadsConstraint-oms.ws.jms")
                jmsmaxexecnt=get('ExecutingRequests')
                jmsmaxdefcnt = get('DeferredRequests')

                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/MinThreadsConstraintRuntimes/MinThreadsConstraint-oms.automation")
                autominexecnt=get('ExecutingRequests')
                autominpendcnt = get('PendingRequests')

                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/MinThreadsConstraintRuntimes/MinThreadsConstraint-oms.ws.jms")
                jmsminexecnt=get('ExecutingRequests')
                jmsminpendcnt = get('PendingRequests')

                print '%8s %10s  Min = ( E:%4d    P:%4d )    Max = ( E:%4d        D:%4d )' %  ("(auto)", sname.getName(), autominexecnt, autominpendcnt, automaxexecnt, automaxdefcnt)
                print '%8s %10s  Min = ( E:%4d    P:%4d )    Max = ( E:%4d        D:%4d )' %  ("(jms)", sname.getName(), jmsminexecnt, jmsminpendcnt, jmsmaxexecnt, jmsmaxdefcnt)
            except WLSTException,e:
                # this typically means the server is not active, just ignore
                pass
        print '======================================================================'
        print ''
        import time
        time.sleep(3)

def getRunningServerNames():
        domainConfig()
        return cmo.getServers()

if __name__== "main":
    monitorThrds()
    disconnect()

weblogic wlst jms monitoring

import thread
from java.util import Date
from java.text import SimpleDateFormat

# Configured user credentials with storeUserConfig

def monitorJMS():
    connect("weblogic", "
pwd", "t3://IP:Port");
    servers = domainRuntimeService.getServerRuntimes();
    for i in range(10000):
        print '[' + SimpleDateFormat('d MMM yyyy HH:mm:ss').format(java.util.Date()) + ']'
        if (len(servers) > 0):
            for server in servers:
                print '  Server Name           ' , server
                jmsRuntime = server.getJMSRuntime();
                jmsServers = jmsRuntime.getJMSServers();
                for jmsServer in jmsServers:
                        destinations = jmsServer.getDestinations();
                        for destination in destinations:
                                print destination.getName()
                                print '  MessagesCurrentCount        ' ,  destination.getMessagesCurrentCount()
                                print '  MessagesHighCount           ' ,  destination.getMessagesHighCount()
                                print '  MessagesMovedCurrentCount   ' ,  destination.getMessagesMovedCurrentCount()
                                print '  MessagesPendingCount        ' ,  destination.getMessagesPendingCount()
                                print '  MessagesReceivedCount       ' ,  destination.getMessagesReceivedCount()
                print ''
                import time
                time.sleep(10)

if __name__== "main":
    monitorJMS()
    disconnect()

weblogic wlst thread monitoring

from java.util import Date
from java.text import SimpleDateFormat

# Configured user credentials with storeUserConfig

def monitorThrds():
    connect("weblogic", "
pwd", "t3://IP:Port");
    serverNames = getRunningServerNames()
    domainRuntime()


    for i in range(10000):
        print '[' + SimpleDateFormat('d MMM yyyy HH:mm:ss').format(java.util.Date()) + ']'
        print '======================================================================'
        print '| Execute     Total    Idle    Pending     Hogging    Queue     StdBy'
        print '| QueueName   Count    Count    Count       Count     Length    Count'
        print '======================================================================'
        for sname in serverNames:
            try:
                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/ThreadPoolRuntime/ThreadPoolRuntime")

                totcnt=get('ExecuteThreadTotalCount')
                idlecnt = get('ExecuteThreadIdleCount')
                pndcnt =get('PendingUserRequestCount')
                sevcnt = get('HoggingThreadCount')
                queuelength = get('QueueLength')
                stdbycnt = get('StandbyThreadCount')
                print '| %10s  %4d    %4d       %4d        %4d     %4d      %4d' %  (sname.getName(), totcnt, idlecnt, pndcnt, sevcnt, queuelength, stdbycnt)
            except WLSTException,e:
                # this typically means the server is not active, just ignore
                pass
        print '======================================================================'
        print ''
        import time
        time.sleep(3)

def getRunningServerNames():
        domainConfig()
        return cmo.getServers()

if __name__== "main":
    monitorThrds()
    disconnect()

weblogic wlst SAF monitoring

from java.util import Date
from java.text import SimpleDateFormat

# Configured user credentials with storeUserConfig

def monitorThrds():
    connect("weblogic", "
pwd", "t3://IP:Port");
    serverNames = getRunningServerNames()
    serverRuntime()

    for i in range(10000):
        print '[' + SimpleDateFormat('d MMM yyyy HH:mm:ss').format(java.util.Date()) + ']'
        print '======================================================================'
        for sname in serverNames:
            try:
                cd("domainRuntime:/ServerRuntimes/" + sname.getName() + "/SAFRuntime/" +sname.getName() + ".saf/Agents")
                try:
                    agents=cmo.getAgents()
                    for agName in agents:
                        #print agName.getName()
                        cd(agName.getName())
                        msgpend=cmo.getMessagesPendingCount()
                        msgcur=cmo.getMessagesCurrentCount()
                        msgtot=cmo.getMessagesReceivedCount()
                        #print '%s messages received %s  = %d  %d  %d' % (agName.getName(), sname.getName(), msgcur, msgpend, msgtot)
                        #print '%-30s %s  CUR:%5d   PEND:%5d   RECV:%5d' % (agName.getName(), sname.getName(), msgcur,msgpend,msgtot )
                        print '%-30s  CUR:%5d   PEND:%5d  RECV:%8d' % (agName.getName(),  msgcur,msgpend,msgtot )
                        cd("..")

                except WLSTException,e:
                    pass
            except WLSTException,e:
                # this typically means the server is not active, just ignore
                pass
        print '======================================================================'
        print ''
        import time
        time.sleep(10)

def getRunningServerNames():
        domainConfig()
        return cmo.getServers()

if __name__== "main":
    monitorThrds()
    disconnect()

2011년 12월 1일 목요일

Android 전화번호부 조회

1) 조회 결과를 저장할 Value Object Class 선언

public class Addressbook {
    private String name;
    private String phnnumber;
  
 public void setPhnnumber(String phnnumber) {
  this.phnnumber = phnnumber;
 }
 public String getPhnnumber() {
  return phnnumber;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getName() {
  return name;
 }

}

2) Contacts 조회 Method Sample
    protected Addressbook[] getFriendsfromAddressBook()
    {
     String[] projection = new String[] { Phone.DISPLAY_NAME, Phone.NUMBER };
    
     Cursor c = getContentResolver().query( Phone.CONTENT_URI, projection, null, null, null);

     Addressbook[] addressfriend = new Addressbook[ c.getCount() ];
    
     c.moveToFirst();
    
     int idx = 0;
     String bookname = null;
     String booknum = null;
    
     try {
          if ( ! c.isAfterLast() )
         {
                do
                {
                
                 bookname = c.getString( 0 );
                 booknum = c.getString( 1 );

                 addressfriend[idx] = new Addressbook();
                 addressfriend[idx].setName( bookname );
                 addressfriend[idx].setPhnnumber( booknum );
                
                 idx++;
               
                } while ( c.moveToNext() );
            }
        } catch (Exception e ) {
         showToastMsg ( "주소록 정보를 가져올 수 없습니다.\n" + e.toString());
         return null;
        }
        finally {
         c.close();
        }
      
        return addressfriend;

    }

Android 용 Eclipse 환경 설정

1) eclipse 3.5 version 이상 download
URL : http://www.eclipse.org/downloads/

2) android 용 SDK download
URL : http://developer.android.com/sdk/index.html

3) eclipse 실행 후, Android 용 ADT (Android Development Tool) Install
eclipse -> help -> Install New Software : https://dl-ssl.google.com/android/eclipse/.

4) eclipse -> windows -> preferences -> android 에서 Android SDK 의 Home 디렉토리 설정

5) eclipse -> windows -> Android SDK and AVD Manager -> Available Packages 에서 원하는 Package 선택 후, Install

Android Widget 생성

1) AndroidManifest.xml 에 AppWidget 선언
        <receiver android:name="phoneinfoWidgetProvider" >
            <intent-filter>
               <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
                       android:resource="@xml/phoneinfo_provider" />
        </receiver>



2)  1)에서 정의한 android:resource="@xml/phoneinfo_provider" 의 설정에 따라 /res/xml 디렉토리에 phoneinfo_provider.xml 파일을 생성하여 AppWidgetProviderInfo Meta Data 추가
 <?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
      android:minWidth="294dp"
      android:minHeight="72dp"
      android:updatePeriodMillis="30000"
      android:initialLayout="@layout/phoneinfo_widget"
      android:configure="com.shlee.pi.PhoneInfoWidgetConfigure" >
</appwidget-provider>



 3) App Widget Layout 선언 (phoneinfo_widget.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"            
     android:id="@+id/layout_widget"            
     android:orientation="horizontal"            
     android:layout_width="fill_parent"            
     android:layout_height="fill_parent"            
     android:padding="10dp"           
     >  
              
      <TextView android:id="@+id/label_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content" 
                android:textSize="14sp"
                android:textStyle="bold"            
                android:textColor="#FFAA00"/>
              
      <TextView android:id="@+id/value_attr"            
                android:layout_width="wrap_content"            
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/label_attr"
                android:gravity="right"
                android:layout_gravity="right"
                android:textSize="14sp"              
                android:textColor="#FFF" />
</RelativeLayout>

Windows XP 에서 한글 전환 오류 해결방법

Windows XP 의 노트패드 등에서 한글 전환등이 안되서,

며칠간 윈도우 업데이트부터 해서 이것저것 설정을 바꿔도 안되더니만...

아래 reg 파일을 실행하여 Registry 를 update 하니 며칠간의 고민이 바로 해결되었음..ㅎ

아래 내용을 노트패드 등에서 파일명을 hotkey.reg 로 하여 붙여넣은 후,

실행하여 registry 를 업뎃~!! ^^

==== 아래 =========================================
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method]
"Show Status"="1"

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys]

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000011]
"Key Modifiers"=hex:04,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000012]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:be,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000070]
"Key Modifiers"=hex:02,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000071]
"Key Modifiers"=hex:04,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:20,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000072]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:bc,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000200]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:47,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000201]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:4b,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000202]
"Key Modifiers"=hex:03,c0,00,00
"Target IME"=hex:00,00,00,00
"Virtual Key"=hex:4c,00,00,00

2011년 4월 3일 일요일

사칙 연산자 찾기 게임

기존 간단히 만들어 놓은거 조금 수정해서 마켓에 올려놓은 게임..

market://details?id=com.shlee.findOperator

http://www.appbrain.com/app/find-operator-game/com.shlee.findOperator

game for finding arithmetic operator in simple equation..

이넘도 다운로드 좀 되려나? ㅋ