<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEQMRH84fyp7ImA9WhRaGE0.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465</id><updated>2012-02-20T21:33:05.137-08:00</updated><category term="NodeManager" /><category term="10.3" /><category term="dir in WLST" /><category term="ServerState" /><category term="WebLogic 11g" /><category term="WebLogic 10g" /><category term="JDBC Connection Pool Monitoring" /><category term="Errors" /><category term="Side-by-Side deployment" /><category term="can't write cache file for" /><category term="Server Start Time" /><category term="os.system" /><category term="Production" /><category term="cancel" /><category term="WLST Exception" /><category term="10g" /><category term="WebLogic" /><category term="WLST Online" /><category term="domain migration" /><category term="ValueError" /><category term="updateDomain" /><category term="WebLogic 9.2" /><category term="JMS monitoring" /><category term="WLST sample" /><category term="Jython" /><category term="Python GetOpt" /><category term="readDomainTemplate" /><category term="11g" /><category term="Create Datasource" /><category term="WLST class object" /><category term="WebLogic  11g supports Jython 2.2" /><category term="KeyError" /><category term="ONS" /><category term="ServerLifecycleRuntime" /><category term="free tutorial" /><category term="NameError" /><category term="JDBCDataSourceRuntimeMBeans" /><category term="Shell Script" /><category term="WLST Offline" /><category term="Self-tune ThreadPool" /><category term="stopApplicaiton" /><category term="Store output" /><category term="WebLogic 10.3.3" /><category term="save" /><category term="java.lang.Thread" /><category term="IndexError" /><category term="sendmail" /><category term="nmKill" /><category term="WLST GetOpt" /><category term="sample" /><category term="WLST Tutorial" /><category term="addTemplate" /><category term="ManagedServer" /><category term="output" /><category term="Development" /><category term="serverConfig" /><category term="STATE_ACTIVE" /><category term="JMX" /><category term="Multi DataSource" /><category term="SBS" /><category term="WLST example" /><category term="Weblogic scripting tool tutorial" /><category term="10.0.3" /><category term="currentTree" /><category term="WebLogic 10.3.4" /><category term="Exceptions" /><category term="Eclipse for WLST" /><category term="MaxThreadsConstraints" /><category term="Python" /><category term="WLST Issues" /><category term="mail from WLST" /><category term="WLST Python Error" /><category term="IDE for WLST" /><category term="smtp" /><category term="__name__ in WLST" /><category term="WLST Overview" /><category term="cluster state" /><category term="Jython GetOpt" /><category term="Deployment" /><category term="MBean" /><category term="GUI editor" /><category term="nmStart" /><category term="Oracle" /><category term="Application status" /><category term="WebLogic domain" /><category term="help" /><category term="Python tutorial" /><category term="Oracle Fussion Middleware" /><category term="Threadpool monitoring" /><category term="JMSRuntime" /><category term="File" /><category term="ActivationTime" /><category term="SyntaxError" /><category term="Capacity Constraint" /><category term="WLST Threads Monitor" /><category term="domain" /><category term="GridLink" /><category term="system package" /><category term="bea" /><category term="JDBCServiceRuntime" /><category term="WorkManager" /><category term="Cluster" /><category term="Weblogic scripting tool" /><category term="STATE_RETIRED" /><category term="readDomain" /><category term="WLST Error" /><category term="WLST COLOR OUTPUT WEBLOGIC 9.2" /><category term="writeDomain" /><category term="tutorial" /><category term="ServerRuntimes" /><category term="domainRuntime" /><category term="JVM monitoring" /><category term="version" /><category term="startApplicaiton" /><category term="queue" /><category term="Thread Count" /><category term="WLST Deployment" /><category term="WebLogic NodeManager" /><category term="OEPE" /><category term="sessionWLST sleep" /><category term="server state" /><category term="FREE" /><category term="WebLogic 10.3.1" /><category term="WLST Thread scripts" /><category term="WLST edit" /><category term="Generic" /><category term="WLST" /><category term="nm" /><category term="WebLogic 10" /><category term="Stop" /><category term="8.1 Thread Model" /><category term="Monitoring" /><category term="nostage" /><title>WLST My Experiments</title><subtitle type="html">Writing a WLST script is an art of Administration.... You will be using  Python, Jython in this WLST Scripts. WLST is a Weapon in the hands of WebLogic Administrator/Developers to resolve their issue.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://wlstbyexamples.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/WlstMyExperiments" /><feedburner:info uri="wlstmyexperiments" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>WlstMyExperiments</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;C0MNSHY5eSp7ImA9WhdaF0k.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-8457980321386754171</id><published>2011-10-27T11:00:00.000-07:00</published><updated>2011-10-27T11:51:39.821-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-27T11:51:39.821-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WLST Exception" /><category scheme="http://www.blogger.com/atom/ns#" term="Errors" /><category scheme="http://www.blogger.com/atom/ns#" term="SyntaxError" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Error" /><category scheme="http://www.blogger.com/atom/ns#" term="Exceptions" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.1" /><category scheme="http://www.blogger.com/atom/ns#" term="NameError" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="IndexError" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Python Error" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="ValueError" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.3" /><category scheme="http://www.blogger.com/atom/ns#" term="KeyError" /><title>WLST Errors and Exceptions</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When first time you started using WLST you might get many of these &lt;b&gt;Python&lt;/b&gt; based WLST Errors. Here I had collected few of them which are very simple to handle them with care. Only thing you need to understand when what kind of errors raises, and what need to do to handle them. When there is error on your flow of WLST Script or prompt don't be panic, relax for a moment then after a while take a deep breath and focus on your error and map with one of the following and do the required workaround.  &lt;br /&gt;
&lt;br /&gt;
In Jython we have issubclass() to check superclass, subclass relation we can verify class relationship. You can find parent-child relationship with it. As per my understanding the Error hierarchy can be defined in WLST(Jython) as follows:&lt;br /&gt;
&lt;br /&gt;
This WLST(Jython) Error tree I prepared and posted for your reference, so that you can make your script in perfect manner, here you can find what is going wrong why it is happen while working out your script.&lt;br /&gt;
&lt;h3&gt;

SyntaxError&lt;/h3&gt;
This you cannot be handled with the try-except block, because it will be thrown when your syntax is not in properly arranged, that is in the statement missing indentation or improper arguments. SyntaxError could be raised when the script lines are given for parsing, it will do token by token parsing wherever the improper syntax given WLST Shell points with cap char under the token.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-l5-0Bxt7p-c/Tqmn07zNyFI/AAAAAAAADzg/-5a0f2XUHR0/s1600/Errorpy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-l5-0Bxt7p-c/Tqmn07zNyFI/AAAAAAAADzg/-5a0f2XUHR0/s640/Errorpy.jpg" width="395" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now let us see the sample indentation issue that raises the Syntax Error.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt;; try:
...connect('system','weblogic103','t3://adminhost:adminport')
Traceback (innermost last):
(no code object)
at line 0
File
"", line 2
connect('system','weblogic103','t3://adminhost:adminport')
^
SyntaxError: invalid syntax&lt;/pre&gt;
&lt;br /&gt;
Another option for Syntax Error&lt;br /&gt;
This Error I have observed when I tried to migrate the WebLogic domain with createDomain() command.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline/wdomain&amp;gt;createDomain('/home/backup/olddomain.jar', '/home/otherusr/domains/newdomain',’system', 'weblogic103')
Traceback (innermost last):
  (no code object) at line 0
  File "&lt;console&gt;", line 1
        createDomain('/home/backup/olddomain.jar', '/home/otherusr/domains/newdomain',?system', 'weblogic103')
                                                                                                          ^
SyntaxError: Lexical error at line 1, column 99.  Encountered: "\ufffd" (65533), after : ""
&lt;/console&gt;&lt;/pre&gt;
&lt;br /&gt;
This "Lexical error" got due to the copying from the webpage which has single quotes in different unicode value. When I retype the single quotes it was resolved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
Here in the above sample after issuing try block starting we must use a tab or 4 spaces before connect() command. When it found that is not&lt;br /&gt;
having proper indentation it raised the SyntaxError.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

NameError&lt;/h3&gt;
&lt;br /&gt;
When the name used to do something like print or use in some other expression without assigning the value before it was defined then WLST will raises NameError. When first time scripting most of the time user encounters this unknowingly.&lt;br /&gt;
&lt;br /&gt;
The following example might give you an idea how to resolve your issue. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; var1=100
wls:/offline&amp;gt; var3=var1+var2
Traceback (innermost last):
  File "&lt;console&gt;", line 1, in ?

&lt;/console&gt;&lt;/pre&gt;
&lt;br /&gt;
You can handle this kind of error with our try-except block&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; try: var3=var1+var2
...except NameError, e:
...     print "Please check there is: ", sys.exc_info()[0], sys.exc_info()[1]
...
Please check there is:  exceptions.NameError var2
&lt;/pre&gt;
&lt;br /&gt;
The beauty of handling your Exception/Error more transparent and easy to understand with sys.exc_info() list. &lt;br /&gt;
&lt;h3&gt;

KeyError&lt;/h3&gt;
&lt;br /&gt;
This error can be raised by the WLST while using the dictionary objects or map objects accessed with non-matching key.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; urls['b']
Traceback (innermost last):
File
"", line 1, in ?
KeyError: b
&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;

ValueError&lt;/h3&gt;
The ValueError is raised by the WLST shell when there is a inappropriate element is accessed in a list or a variable, that is such as the value specified for searching in the list with index() method. Removing the element which is not really exists in the list.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; L.index('web2')
Traceback (innermost last):
File
"&amp;lt;console&amp;gt;", line 1, in ?
ValueError: list.index(x): x not in list
&lt;/pre&gt;
I was working on thread and JVM monitoring script, encountered with the ValueError in different way. After storing the ThreadPool values, JVM values into local variables
I was using C type of formating to display the data in a row of Table. Some of the attribute values are Long integers, some of them plain integers some of them are strings.

&lt;br /&gt;
&lt;pre class="py" name="code"&gt; cd('/ServerRuntimes/'+ svr +'/ThreadPoolRuntime/ThreadPoolRuntime')
 thtot=`get('ExecuteThreadTotalCount')`
 thid= `get('ExecuteThreadIdleCount')`
 hog= `get('HoggingThreadCount')`
 sbth= `get('StandbyThreadCount')`
 cr =`get('CompletedRequestCount')`
 pr =`get('PendingUserRequestCount')`
 ql =`get('QueueLength')`
 th= `get('Throughput')`
 
 cd('/ServerRuntimes/'+svr+'/JVMRuntime/'+svr)
        freejvm = long(get('HeapFreeCurrent'))/(1024*1024)
        totaljvm = long(get('HeapSizeCurrent'))/(1024*1024)
        usedjvm = (totaljvm - freejvm)
      
&lt;/pre&gt;
&lt;br /&gt;
When I ran with all number values with %5d it was shouted as follows:

&lt;br /&gt;
&lt;pre class="py" name="code"&gt;ValueError: unsupported format character ' ' (0x20) at index 23
&lt;/pre&gt;
Don't know what attribute requires which format ...
Initially to resolve this display without any format for all attributes in the MBean. 
  &lt;br /&gt;
&lt;pre class="py" name="code"&gt;print svr, thtot, thid, hog, sbth, cr, pr, ql, th, hs, totaljvm, freejvm, usedjvm&lt;/pre&gt;
But still ValueError was exists, when I updated with formater it was stuck with CompletedRequestCount that was not integer, it is Long integer. changed the format for that attribute it resolved one issue. 

Now the issue with different index number came...
I have an idea that, if I found all the attributes and their data types then it will be easy to fix the right format for each. I tried the following way

 &lt;br /&gt;
&lt;pre class="py" name="code"&gt;print type(thtot),type(thid), type(hog), type(sbth), type(cr), type(pr), type(ql), type(th),type(freejvm), type(totaljvm), type(usedjvm)&lt;/pre&gt;
formated accordingly the ValueError is resolved.

&lt;br /&gt;
&lt;pre class="py" name="code"&gt;print '%14s %10s %5s %5s %5s %5s %8s %5s %5s %8s %5dMB %5dMB %5dMB' %  (svr, hs, thtot, thid, hog, sbth, cr, pr, ql, th, totaljvm, freejvm, usedjvm) &lt;/pre&gt;
So now take care of Values of variables for your WLST code before use them for any operation!!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

AttributeError&lt;/h3&gt;
&lt;br /&gt;
You might be on MBean tree where there is no such attribute defined and you tried to access it then WLST Shell raises AttributeError. Let us see an Example you can easily understand.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/demodom/serverConfig&amp;gt; cmo.State()
Traceback (innermost last):
  File "&lt;console&gt;", line 1, in ?
AttributeError: State
 
&lt;/console&gt;&lt;/pre&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;

IndexError&lt;/h3&gt;
The IndexError will be raised by the WLST shell, when thelist object is accessed with a out of range index value.&lt;br /&gt;
&lt;br /&gt;
Let us see the example a list is defined with 5 elements&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="font-size: small;"&gt;wls:/offline&amp;gt; L['app1', 'app2', 'app3', 'app4', 'web1']
&lt;/pre&gt;
when it is accessed with out of range index value say 7 then you get the IndexError.  &lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; L[7]
Traceback (innermost last):
File
"&amp;lt;console&amp;gt;", line 1, in ?
IndexError: index out of range: 7&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;

TypeError &lt;/h3&gt;
The basic python object types int, str assignments or expressions or print statements with&lt;br /&gt;
concatenation does not allows you, raises the TypeError.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; print 'Number of servers:', 5
Number of servers: 5
 
wls:/offline&amp;gt;print 'Number of servers:'+ 5
Traceback (innermost last):
File
"&amp;lt;console&amp;gt;", line 1, in ?
TypeError: cannot concatenate 'str' and 'int' objects&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for reading this post, Give your feedback in comments. cheers!!&lt;br /&gt;
&lt;br /&gt;
Good References:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.doughellmann.com/articles/how-tos/python-exception-handling/"&gt;http://www.doughellmann.com/articles/how-tos/python-exception-handling/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jython.org/jythonbook/en/1.0/ExceptionHandlingDebug.html"&gt;http://www.jython.org/jythonbook/en/1.0/ExceptionHandlingDebug.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tutorialspoint.com/python/python_strings.htm"&gt;http://www.tutorialspoint.com/python/python_strings.htm&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-8457980321386754171?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yrahJMGOoYwxZSKo-Bjzn-ZtJ7Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yrahJMGOoYwxZSKo-Bjzn-ZtJ7Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yrahJMGOoYwxZSKo-Bjzn-ZtJ7Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yrahJMGOoYwxZSKo-Bjzn-ZtJ7Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/byGkjUG2KXc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/8457980321386754171/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=8457980321386754171" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8457980321386754171?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8457980321386754171?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/byGkjUG2KXc/wlst-errors-and-exceptions.html" title="WLST Errors and Exceptions" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-l5-0Bxt7p-c/Tqmn07zNyFI/AAAAAAAADzg/-5a0f2XUHR0/s72-c/Errorpy.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/01/wlst-errors-and-exceptions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEABQ3w8cCp7ImA9WhdRGUQ.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-7994820971216571150</id><published>2011-07-25T18:20:00.000-07:00</published><updated>2011-08-10T09:12:32.278-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-10T09:12:32.278-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WLST sample" /><category scheme="http://www.blogger.com/atom/ns#" term="Deployment" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="Application status" /><title>Wanna get the status of the applications in domain</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
In most of WebLogic domain environments we might have seen multiple applications deployed on WebLogic servers. It is difficult to check their status when server uses high CPU utilization. We can get the complete details by giving one input i.e., target-name. &lt;br /&gt;
&lt;br /&gt;
We use navigate MBean tree more frequently while using interactive mode of WLST and in scripting. Here we can call any attribute from any MBean tree by using colon ':' at the MBean tree root. Here we go with a sample of&amp;nbsp; for you who struggling to understand navigate each and every time.&lt;br /&gt;
&lt;br /&gt;
Please check the below code snippet and you can change as per your requirement.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#############################################################
# This script will get you status  applications which are deployed 
# in the Domain.         
# script get you the colorful output                         
# NOTE : You need to give target name as an input to the script                
# Author: Krishna Sumanth Naishadam                         
##############################################################
import sys

connect('username','password','t3://wl_admin_host:wl_admin_port')
targetName=sys.argv[1]
domainConfig()
apps=cmo.getAppDeployments()
for i in apps:
    navPath1=getMBean('domainConfig:/AppDeployments/'+i.getApplicationName())
    appID=navPath1.getApplicationIdentifier()
    navPath=getMBean('domainRuntime:/AppRuntimeStateRuntime/AppRuntimeStateRuntime')
    sts=navPath.getCurrentState(appID,targetName)
    if(sts == "STATE_ACTIVE"):
        print "\033[1;32m Status of " + i.getApplicationName() + ": " + sts + "\033[1;m"
    else:
        print "\033[1;31m Status of " + i.getApplicationName() + ": " + sts + "\033[1;m"
disconnect()
exit()
 &lt;/pre&gt;&lt;br /&gt;
domain_app_status.sh&lt;br /&gt;
********************&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;WL_HOME="&lt;wl_home_path&gt;
# set up common environment
. "${WL_HOME}/server/bin/setWLSEnv.sh"

CLASSPATH="${CLASSPATH}:${WL_HOME}/common/eval/pointbase/lib/pbembedded51.jar:${WL_HOME}/common/eval/pointbase/lib/pbtools51.jar:${WL_HOME}/common/eval/pointbase/lib/pbclient51.jar"
read -p "Enter Target Name : " value1

"${JAVA_HOME}/bin/java" -Xmx124m -Dprod.props.file=${WL_HOME}/.product.properties weblogic.WLST domain_app_status.py $value1 $*
&lt;/wl_home_path&gt;&lt;/pre&gt;&lt;br /&gt;
The lifecycle of deployment process happen in the following way:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-PnbC9RTmx08/TkKs1-xPXRI/AAAAAAAADv8/hn6GF7dc23w/s1600/depState21.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="269" src="http://2.bp.blogspot.com/-PnbC9RTmx08/TkKs1-xPXRI/AAAAAAAADv8/hn6GF7dc23w/s320/depState21.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The following Colors I had chosen for reflecting what state for a application on a server.&lt;br /&gt;
======&lt;br /&gt;
Status of APPNAME1: STATE_ACTIVE (Green Color)&lt;br /&gt;
Status of APPNAME2: STATE_FAILED (Red Color)&lt;br /&gt;
Status of APPNAME3: STATE_NEW (Red Color)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div closure_uid_nufzgs="109"&gt;Please see below screenshot for exact output&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6lMWbvOjAH0/Tisr1JY60RI/AAAAAAAAAFs/aZux4RYY_es/s1600/domain_app_status.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-6lMWbvOjAH0/Tisr1JY60RI/AAAAAAAAAFs/aZux4RYY_es/s1600/domain_app_status.JPG" t$="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div closure_uid_nufzgs="109"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-7994820971216571150?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ohS636e_q9YxCDWddIH9xQ7UiGE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ohS636e_q9YxCDWddIH9xQ7UiGE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ohS636e_q9YxCDWddIH9xQ7UiGE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ohS636e_q9YxCDWddIH9xQ7UiGE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/3zSOCVvHm5E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/7994820971216571150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=7994820971216571150" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7994820971216571150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7994820971216571150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/3zSOCVvHm5E/wanna-get-status-of-applications-in.html" title="Wanna get the status of the applications in domain" /><author><name>sumanth</name><uri>http://www.blogger.com/profile/12611418814899758247</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-PnbC9RTmx08/TkKs1-xPXRI/AAAAAAAADv8/hn6GF7dc23w/s72-c/depState21.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2011/07/wanna-get-status-of-applications-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4CRX09cCp7ImA9WhdVGE0.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-366476851250351270</id><published>2011-03-20T00:16:00.000-07:00</published><updated>2011-09-23T12:42:44.368-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T12:42:44.368-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="__name__ in WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="dir in WLST" /><title>WLST Tricks &amp; Tips</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Here I prepared few Tips and tricks for making a WLST scripts, which I learn with my experiments with &lt;a href="http://www.amazon.com/gp/offer-listing/0596158106/ref=as_li_tf_tl?ie=UTF8&amp;tag=hmniv-20&amp;linkCode=am2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=0596158106"&gt;Programming Python&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=hmniv-20&amp;l=am2&amp;o=1&amp;a=0596158106&amp;camp=217145&amp;creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;
 commands for WLST scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-size: large;"&gt;Tip 1. Know about Where are you&lt;/span&gt;&lt;br /&gt;
On some situations you might need a clarity about which WebLogic version you are using. WebLogic 11g(10.3) has different sub-sequent versions 10.3.1,10.3.2,10.3.3 and 10.3.4, for all these the directory structure is ~/Oracle/Middleware/wlserver_10.3 which does not tells you about sub versions. Here WLST&amp;nbsp; is having a solution for this problem, &lt;br /&gt;
&lt;br /&gt;
You can find the current WebLogic version to which WLST is connected.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; print version
WebLogic Server 10.3.3.0&amp;nbsp; Fri Apr 9 00:05:28 PDT 2010 1321401
&lt;/pre&gt;
&lt;br /&gt;
How do you know that the WLST Shell running on which JVM version? The simple solution is you this following Python command that will gives you:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; sys.platform
'java1.6.0_21'&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Tip 2. Introspection in WLST&lt;/span&gt; &lt;br /&gt;
You might understand that using WLST provided help() sometimes you cannot reach your desired level of scripting. Some thing that won't be documented but you might need it to develop the prototype in your WLST script. Often I found most helpful way to reach depth of WLST classes, modules, functions. Best way is we need to use Python introspection methods. It is a wonderful way to resolve your coding clues to use best performing script as outcome.&lt;br /&gt;
&lt;br /&gt;
In some of the situations, I felt using Jython (Java method) is lengthy than using Python. When Python giving you desired outcome in two lines of code why do you choose Java imports and classes and code become 6-10 lines.&lt;br /&gt;
&lt;br /&gt;
You might be confused sometimes, brain storm about something why a MBean not working or giving the value of an attribute etc. In your mind there could be a question "what is this actually??" Best solution for this is using Python introspection built-in methods.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;dir([WLST/Python Object])
&lt;/pre&gt;
If your WLST MBean or module or a function has documented then you use the following to get that:&lt;br /&gt;
&lt;pre class="py" name="code"&gt;_doc__
&lt;/pre&gt;
&lt;br /&gt;
In Jython there could be classes or interfaces &lt;br /&gt;
&lt;pre class="py" name="code"&gt;__class__
&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Tip 3. Naming Rules for WLST&lt;/span&gt;&lt;br /&gt;
WLST script can have names are case sensitive and cannot start with a number.&amp;nbsp; They can contain letters, numbers, and underscore symbols. Let us see few examples here:&lt;br /&gt;
&amp;nbsp;state&amp;nbsp; State&amp;nbsp; _state&amp;nbsp; _2_state_&amp;nbsp; state_2&amp;nbsp; StatE&lt;br /&gt;
&lt;br /&gt;
Most of us face an issue what name makes sense for a variable, module or classwhile writing the WLST scripts. Just like Java Language you can follow specific naming rules, we can also find keyword list available in WLST with the following commands&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; import keyword
wls:/offline&amp;gt; keyword.kwlist
['and', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'yield']
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Modules&lt;/b&gt;, &lt;b&gt;packages&lt;/b&gt;: use lowercase&lt;br /&gt;
&lt;b&gt;Classes&lt;/b&gt;: use Capitalized first letters in the Words also follow for exceptions that you create&lt;br /&gt;
&lt;b&gt;Methods&lt;/b&gt;, &lt;b&gt;attributes&lt;/b&gt;: use lowercase_words&lt;br /&gt;
&lt;b&gt;Local variables&lt;/b&gt;: use alphanumeric i, j, sum, x0, etc.&lt;br /&gt;
&lt;b&gt;Globals&lt;/b&gt;: use alphanumeric long_descriptive_names&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; sys.modules
{'weblogic.store.admintool.CommandDefs.CommandType': &lt;jclass 1="" weblogic.store.admintool.commanddefs.commandtype=""&gt;, ...'sys': sys module, 'weblogic.management.scripting.utils': &lt;java 43="" package="" weblogic.management.scripting.utils=""&gt;}
&lt;/java&gt;&lt;/jclass&gt;&lt;/pre&gt;
&lt;br /&gt;
Introspection reveals useful information about your program's objects&lt;/div&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;span style="font-size: large;"&gt;Tip 4 Write a readable script&lt;/span&gt; &lt;br /&gt;
While writing a script think about the human readers, Question yourself can you still read your own code ???&lt;br /&gt;
next month?&lt;br /&gt;
next year?&lt;br /&gt;
Be consistent (but not too consistent!)&lt;br /&gt;
Use white-space judiciously&lt;br /&gt;
Write appropriate comments&lt;br /&gt;
Write helpful doc strings -- not stories or novels&lt;br /&gt;
Conform to the existing style&lt;br /&gt;
even if it’s not your favorite style!&lt;br /&gt;
local consistency overrides global&lt;br /&gt;
&lt;br /&gt;
Update the comments!!&lt;br /&gt;
and the doc strings!!!&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "ca-pub-0762912933528813";
/* 468x15, created 10/17/10 */
google_ad_slot = "8463465651";
google_ad_width = 468;
google_ad_height = 15;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;pre class="py" name="code"&gt;"""Brief one-line description.

Longer description, documenting
argument values, defaults,
return values, and exceptions.
"""
&lt;/pre&gt;
&lt;br /&gt;
When to use classes in WLST? (...and when not!)&lt;br /&gt;
If your script objective is going to have multiple object creation then go for Object-Orientation.&lt;br /&gt;
&lt;br /&gt;
You could choose class members or attribute&amp;nbsp; at the first time, the easy to make mistakes&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;name clashes between attribute&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Tip 5 print with str()&lt;/span&gt;&lt;br /&gt;
Most of us from Java/JEE development  background common attitude is that using the + operator overloading for  strings. Sometimes your WLST script might need to have a print  statement, that could include values from a variable or some  mathematical expression that might be int type or some other object  type. Then such cases, better to use that variable type must be  converted to string type by using Python built-in function str() as  shown :&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;print 'Heap Size' + str(totalHeap)&lt;/pre&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Trick 1. Multiple Assignment&lt;/span&gt;&lt;br /&gt;
In WLST you can assign multiple variables with corresponding multiple values at the same statement or command line.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; cl, ms = ['appclstr','webclstr'], ['app01','app02','web01','web02']
wls:/offline&amp;gt; cl
['appclstr', 'webclstr']
wls:/offline&amp;gt; ms
['app01', 'app02', 'web01', 'web02']
&lt;/pre&gt;
use these built-in functions, enjoy Python scripting in WLST... : -)&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Trick 2. Connect admin without Credentials&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
When you use storeUserConfig() command for your WebLogic domain environment, the trick here is when you don't specifying any arguments such as user security file, key file paths. WebLogic system automatically generates the following two files:&lt;br /&gt;
1. username-WebLogicConfig.properties&lt;br /&gt;
2. username-WebLogicKey.properties&lt;br /&gt;
&lt;br /&gt;
For example, Let us assume your user name is 'padmin' then storeUserConfig() command will generates two files as:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;* padmin-WebLogicConfig.properties&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;* padmin-WebLogicKey.properties&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Once you got this autogenerated files in you home ($HOME in Unix) directory, WLST Shell automatically detects its existance from this location. You don't need to give the userConfig, Key file paths while connecting. Simply you can connect by giving the adminurl as url value.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; connect(url='t3://myapp.host.com:8756')
Connecting to t3://myapp.host.com:8756 with userid weblogic ...
Successfully connected to Admin Server 'wadmn' that belongs to domain 'mydomain'.

Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Trick 3: Command Trials&lt;/span&gt;&lt;br /&gt;
The interactive mode is great for getting instant feedback on the behavior of each WLST command. Having the whole startup, connection, session-init is time-consuming and the interactive mode of WLST avoids this.&lt;br /&gt;
&lt;br /&gt;
First time if you are making a script better idea is have duplicate windows of the host. In one window you can edit and save according to your required changes, on the other hand you can execute the file with execfile('urScript.py'). &lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;Trick 4: Using loadProperties&lt;/span&gt;&lt;br /&gt;
One of my blog follower Raghu asked me how to use properties in the WLST script. Though I had used different types of properties from properties file, but his requirement is something different he want to reuse the WLST script only by changing the properties file.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;mys.properties
SERVERS=myser1,myser2,myser3
&lt;/pre&gt;
&lt;br /&gt;
Here is the python script snippet that uses above properties &lt;br /&gt;
&lt;pre class="py" name="code"&gt;loadProperties('path/mys.properties')
print SERVERS
serverlsit=SERVERS.split(',')
print serverlist[1]

for i in serverlist:
    print i

&lt;/pre&gt;
Remember that properties are just like Java language properties or C/C++ define constants, which holds the string values. So when you store portno in properties file better convert using int().&lt;br /&gt;
Hope this is useful for your reusable scripts.&lt;br /&gt;
&lt;br /&gt;
Keep writing your comments and suggestions...&lt;br /&gt;
&lt;span style="font-size: large;"&gt;References:&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://diveintopython.org/power_of_introspection/built_in_functions.html"&gt;1. Dive into Python&lt;/a&gt;&lt;br /&gt;
2. http://docs.python.org/release/2.3/lib/module-re.html &lt;/div&gt;
&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=9416182&amp;amp;tstart=0"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=9416182&amp;amp;tstart=0&lt;/a&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-366476851250351270?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zPEwq6V4mZdh1N3_7q3QigQ0fsE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zPEwq6V4mZdh1N3_7q3QigQ0fsE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zPEwq6V4mZdh1N3_7q3QigQ0fsE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zPEwq6V4mZdh1N3_7q3QigQ0fsE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/EyRxMT1mkEI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/366476851250351270/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=366476851250351270" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/366476851250351270?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/366476851250351270?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/EyRxMT1mkEI/wlst-tricks-tips.html" title="WLST Tricks &amp; Tips" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2011/03/wlst-tricks-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04AQ345eCp7ImA9Wx9bFE0.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-2890118305999228046</id><published>2011-02-21T11:36:00.000-08:00</published><updated>2011-02-22T12:19:02.020-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T12:19:02.020-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GridLink" /><category scheme="http://www.blogger.com/atom/ns#" term="ONS" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse for WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.4" /><title>Configuring GridLink DataSources</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;WebLogic 10.3.4 is having new feature as High availability and fail over control with Oracle Notifying Service (ONS) as client at WebLogic sever side. Which enables your environment to track if one of RAC node is down or Listener down.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;edit()
cd('/')
cmo.createJDBCSystemResource('ds1')

cd('/JDBCSystemResources/ds1/JDBCResource/ds1')
cmo.setName('ds1')

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCDataSourceParams/ds1')
set('JNDINames',jarray.array([String('GLDS01')], String))

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCDriverParams/ds1')
cmo.setUrl('jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=dbhost.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
(HOST=dbhost.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORASERVICE)))\r\n\r\n')
cmo.setDriverName('oracle.jdbc.OracleDriver')
cmo.setPassword(DBPASS)

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCConnectionPoolParams/ds1')
cmo.setTestTableName('SQL SELECT 1 FROM DUAL\r\n\r\n')

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCDriverParams/ds1/Properties/ds1')
cmo.createProperty('user')

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCDriverParams/ds1/Properties/ds1/Properties/user')
cmo.setValue('DBUSER')

cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCDataSourceParams/ds1')
cmo.setGlobalTransactionsProtocol('TwoPhaseCommit')
 
cd('/SystemResources/ds1')
set('Targets',jarray.array([ObjectName('com.bea:Name=appclstr,Type=Cluster')], ObjectName))

 cd('/JDBCSystemResources/ds1/JDBCResource/ds1/JDBCOracleParams/ds1')
cmo.setFanEnabled(true)
cmo.setOnsNodeList('node1host.com:6200,node2host.com:6200')

save()
activate()

&lt;/pre&gt;&lt;br /&gt;
Before you configure this, make sure ONS service configure at RAC nodes. So, please confirm it from your ORACLE DBA. One more things, this is applicable only when your environment have Oracle Database 10.2.+ for RAC. &lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596158068&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0137009526&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596158106&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=1430229586&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This GridLink datasource is the alternative for Multi datasource. You don't need to configure individual data sources for each node. In this GridLink you can enter all the RAC node details at once. Targeting and testing is same as generic data source you can verify on your WebLogic console.&lt;br /&gt;
&lt;br /&gt;
Best References &lt;br /&gt;
1. http://download.oracle.com/docs/cd/E17904_01/web.1111/e13737/gridlink_datasources.htm&lt;br /&gt;
2. http://www.cnblogs.com/mengheyun/archive/2011/02/13/1953114.html&lt;br /&gt;
3. http://theblasfrompas.blogspot.com/2011/02/jruby-script-to-monitor-oracle-weblogic.html&lt;br /&gt;
4. http://www.youtube.com/watch?v=THBUr_x7mUE&lt;br /&gt;
5. http://www.youtube.com/watch?v=5icksYdkj-c&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-2890118305999228046?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0nwdiVzIm1xjiu9sKyhTdNt-JGw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0nwdiVzIm1xjiu9sKyhTdNt-JGw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0nwdiVzIm1xjiu9sKyhTdNt-JGw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0nwdiVzIm1xjiu9sKyhTdNt-JGw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/OYTPum0fdxY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/2890118305999228046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=2890118305999228046" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/2890118305999228046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/2890118305999228046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/OYTPum0fdxY/unstoppable-datasources-from-weblogic.html" title="Configuring GridLink DataSources" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2011/02/unstoppable-datasources-from-weblogic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEER38ycSp7ImA9WhZQF0U.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-702607481814385242</id><published>2011-02-17T08:52:00.000-08:00</published><updated>2011-04-25T19:06:46.199-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-25T19:06:46.199-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="IDE for WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse for WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="OEPE" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.3" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.4" /><category scheme="http://www.blogger.com/atom/ns#" term="GUI editor" /><title>OEPE the best WLST Editor</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;Now we have, Oracle given a nice GUI editor for WLST scripts. I started looking about it one of my blog commenter &lt;b&gt;Lukas &lt;/b&gt;was asked me about it. Oracle released two versions of this Eclipse editor:&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;&lt;li&gt;Eclipse 3.6 (Helios) Edition&lt;/li&gt;
&lt;li&gt;Eclipse 3.5.2 (Galileo) Edition&lt;/li&gt;
&lt;/ol&gt;It has built support for Python scripts and PyDev. Recently I had downloaded new &lt;b&gt;OEPE-Galileo-All-In-One-11.1.1.6.0.201007221355-Win32.Zip. &lt;/b&gt;It is really “All in One” why because it has connectivity to WebLogic Server Local/Remote options with all categories of versions supported by WLST. It is included WLST MBean Explorer, built-in WLST Help provided in one of tab. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Here I am going to tell about that what you need to look in this because introductory blog already given by &lt;b&gt;Edwin Biemond&lt;/b&gt; from Oracle&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-o9_OBPE5anE/TV5Y9MtwRSI/AAAAAAAADkE/DEJ56iVz6Es/s1600/OEPE1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-o9_OBPE5anE/TV5Y9MtwRSI/AAAAAAAADkE/DEJ56iVz6Es/s400/OEPE1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;OEPE for WLST&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 12pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Video blog... &lt;br /&gt;
&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aL3hx_I_RQA?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/aL3hx_I_RQA?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;There is nothing to know about much about hidden MBean hierarchies. WLST on OEPE (Eclipse) makes more fun in creating new scripts. More over the OEPE Templates are awesome!! God bless this template creator.&amp;nbsp; Oracle WLST people given commonly used scripts as templates. Which makes you no efforts to write the line-by-line script writing. GUI makes more work in less time meaning increasing productivity and performance!!! &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Ready made Templates&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;OEPE gave us the following templates as ready-made script templates. You need to change the values or parameters to whatever you want to name for your environment or WebLogic domain.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Default:      WLST online &lt;/li&gt;
&lt;li class="MsoNormal"&gt;Create      Basic WebLogic Domain&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Create      WebLogic Cluster&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Create      WebLogic Domain with JMS and JDBC Resources&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Configuring      JMS System Resource &lt;/li&gt;
&lt;li class="MsoNormal"&gt;Configuring      JDBC DataSource Delete&amp;nbsp; JDBC Data      Source&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Delete      JMS System Resource&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Delete      WebLogic Cluster&lt;/li&gt;
&lt;/ol&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;You might be using WebLogic portal or WebLogic Integration or some other WebLogic domain these are core common scripts templates can be applicable to any of them.&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4o7tLzUT7BQ/TV5cxpsvPbI/AAAAAAAADkI/b_IBU613UBU/s1600/OEPETemplates.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-4o7tLzUT7BQ/TV5cxpsvPbI/AAAAAAAADkI/b_IBU613UBU/s320/OEPETemplates.jpg" width="278" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Most of the developers requires the Deleting JDBC resources and want to create a fresh DataSource with changed database parameters. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In production environment some of the sites you might need to remove the machines due to their utter performance. “Delete WebLogic Cluster” is the wonderful script for you. You need to give the managed servers list, cluster(s) you want to remove from the domain.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/QV7KjD1hTpg" title="YouTube video player" width="480"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Cons of OEPE&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;To run      OEPE on your desktop requires good amount of MEMORY (RAM).&lt;/li&gt;
&lt;li class="MsoNormal"&gt;Sometimes      iexplorer stuck you cannot open OEPE anyway it is Windows issue.&lt;/li&gt;
&lt;li class="MsoNormal"&gt;JVM Settings      of eclipse.ini file need to be updated according to your operating      environment. Anyway I found the best reference to solve JVM settings issue at stackoverflow.com&lt;/li&gt;
&lt;/ol&gt;&lt;div class="MsoNormal"&gt;Expecting more exciting things from WLST users so…keep writing your comments, updates about OEPE using WLST.&lt;br /&gt;
&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=wlsmyexp-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;asins=0596006411" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0596002475&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0596100655&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430225270&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In these amazon ads you can click on  'Look inside' give you some idea about the above books. And don't forget to enjoy the sample chapters of these books.&lt;br /&gt;
&lt;br /&gt;
While working on eclipse there could be need to pass arguments to your WLST script. Yes!! You can do that goto Run As options select Run Configuration. In the &lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: magenta;"&gt;Run Configuration&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt; &lt;/span&gt;window select the Arguments tab, &amp;nbsp;you can give &lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="background-color: magenta;"&gt;Program Arguments&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="background-color: magenta;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Good References:&lt;br /&gt;
1. &lt;a href="http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/index.html"&gt;http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/index.html&lt;/a&gt;&lt;br /&gt;
2. &lt;a href="http://biemond.blogspot.com/2010/08/wlst-scripting-with-oracle-enterprise.html"&gt;http://biemond.blogspot.com/2010/08/wlst-scripting-with-oracle-enterprise.html&lt;/a&gt;&lt;br /&gt;
3. &lt;a href="http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse"&gt;http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-702607481814385242?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GzMu9dSnpM5BuLJqyzcpHPXhmuE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GzMu9dSnpM5BuLJqyzcpHPXhmuE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GzMu9dSnpM5BuLJqyzcpHPXhmuE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GzMu9dSnpM5BuLJqyzcpHPXhmuE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/vLn2DrZvmm4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/702607481814385242/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=702607481814385242" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/702607481814385242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/702607481814385242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/vLn2DrZvmm4/oepe-best-wlst-editor.html" title="OEPE the best WLST Editor" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-o9_OBPE5anE/TV5Y9MtwRSI/AAAAAAAADkE/DEJ56iVz6Es/s72-c/OEPE1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2011/02/oepe-best-wlst-editor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGRnw8cCp7ImA9Wx9bE0w.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-77643174102054711</id><published>2010-12-22T09:01:00.000-08:00</published><updated>2011-02-21T11:38:47.278-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T11:38:47.278-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="startApplicaiton" /><category scheme="http://www.blogger.com/atom/ns#" term="system package" /><category scheme="http://www.blogger.com/atom/ns#" term="os.system" /><category scheme="http://www.blogger.com/atom/ns#" term="Jython" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Deployment" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="stopApplicaiton" /><category scheme="http://www.blogger.com/atom/ns#" term="Shell Script" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>My way of deployment with WLST</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This Script has ultimate goal  to automate to one-step process for deploying the code onto WebLogic Development environment.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="bash" name="code"&gt;#paniDeployment.sh [Optional]
echo '***** WELCOME TO DEPLOYMENT SCRIPT *****'
user=`echo $LOGNAME`
echo 'APPLICATION DEPLOYMENT IS STARTING IN INSTANCE:' $user
DHOME=/Home/domains/wd$LOGNAME/config
WLHOST=`hostname`
cd $DHOME
WLPORT=`cat config.xml |grep listen-port|tr -s [:blank:] |tr " " "\n" |grep listen-port |cut -c14-17`
URL='t3://'$WLHOST':'$WLPORT
DENV=$HOME/domains/wd$LOGNAME/bin/setDomainEnv.sh
. $DENV $*
echo $CLASSPATH
#calling the paniDeployment.py file
java weblogic.WLST -loadProperties /Home/$user/.Admin/deploy.properties /Home/$user/.Admin/paniDeployment.py $user $URL$CLASSPATH 
&lt;/pre&gt;&lt;br /&gt;
Now let me give you what I did in my experiment with deployment script, I let you assume that 'a_ejb.jar','a_adapter.jar','b_adapter.jar','c.war' are the deployable components. You may have different components may be target to different WebLogic server instances or clusters it is your choice.&lt;br /&gt;
&lt;br /&gt;
Well this might be very lengthy you might feel too much!! but this is my first time trial which I made ...&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "ca-pub-0762912933528813";
/* 468x60, created 10/17/10 */
google_ad_slot = "4251707814";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
On our WebLogic many logics works hahaaaaaaaaaaaaaaaa&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#paniDeployment.py
import os
import time
import sys
from java.util import Date
from java.text import SimpleDateFormat
t = Date()
today=SimpleDateFormat("dd_MMM_HH:mm").format(Date())
user=sys.argv[1]
URL=sys.argv[2]
src="/home/"+user+"/CODE/"
bksrc="/home/"+user+"/CODE_"
dpath="/home/domains/wd"+user
ECODE='\033[0m \n'
G='\033[1;40;32m'
R='\033[1;40;31m'
deploylist=['a_ejb.jar','a_adapter.jar','b_adapter.jar','c.war']
def backup():
    try:
         #Creating the Backup with Date And Time 
         command = "cp -R "+src+" "+bksrc+today
         os.system(command)
    except:
          print R+'   Code Backup FAILED!! '+ECODE
          print dumpStack()

def getCode():
        try:
                # GETTING THE Fresg Code from build location 
                os.system('scp user@hostname:/home/user/Code_Ioc/*.*ar '+src)
                print G+'    THE CODE COPIED SUCCESSFULLY  '+ECODE
        except:
                print R+'   THE CODE COPYING FAILED?!?!?'+ECODE
                print dumpStack()
                exit()
def conn():
        try:
                # CONNECTING TO THE SERVER .... 
                connect(userConfigFile=UCF, userKeyFile=UKF, url=URL)
        except:
                print R+'  CONNECTION FAILED....',+ECODE
                print dumpStack()
                exit()
def editing():
        edit()
        startEdit()

def activating():
    save()
    activate()

def stoppingApp():
    deploylist.reverse()
    for s in deploylist:
        try:
            editing()
            progress=stopApplication(s,timeout=360000)
            progress.printStatus()
            activating()
       except:
            print R+'  FAILED TO STOP THE APPLICATION  '+ECODE
            print dumpStack()
  
    print G+'  APPLICATION STOPPED  '+ECODE

def pUndeploy():
     deploylist.reverse()
     for s in deploylist:
        try:
                editing()
                progress=undeploy(s, timeout=360000)
                progress.printStatus()
                activating()
        except:
                print R+'  FAILED TO UNDEPLOY THE APPLICATION  '+ECODE
                print dumpStack()
     print G+'  APPLICATION UNDEPLOYED   '+ECODE

# This module is optional 
def clearCache():
        try:
                print G+'  CLEARING THE CACHE  '+ECODE
                command = "rm -rf "+dpath+"/servers/"+user+"/tmp/*.*"
                os.system(command)
                print G+'  CLEARED THE CACHE   '+ECODE
        except:
                print R+'  FAILED TO CLEAR CACHE '+ECODE

def pDeploy():
     for s in deploylist:
        try:
            editing()
            progress=deploy(s,src+s,target=user,timeout=360000)
            progress.printStatus()
            activating()
        except:
            print R+'FAILED TO DEPLOY THE APPLICATION'+ECODE
            print dumpStack()
     print G+'  APPLICATION DEPLOYED  '+ECODE

def startingApp():
     for s in deploylist:
        try:
                editing()
                startApplication(s,timeout=360000)
                activating()
        except:
            print R+'FAILED TO START THE APPLICATION '+ECODE
     print G+'APPLICATION STARTED SUCCESSFULLY '+ECODE

if __name__== "main":
        backup()
        getCode()
        conn()
        stoppingApp()
        pUndeploy()
        clearCache()
        pDeploy()
        startingApp()
        print G+' ....DEPLOYMENET DONE...'+ECODE
###### End of pani Deployment.py file ###########
&lt;/pre&gt;Satya (the original author of WLST) already wrote os.system usage in the following link: &lt;br /&gt;
&lt;a href="http://ghattus.com/2007/01/01/wlst-startserver-re-visited/"&gt;http://ghattus.com/2007/01/01/wlst-startserver-re-visited/&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
Following comments archived from "WLSTBYPANI" post:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe border="0" frameborder="0" height="60" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=wlsmyexp-20&amp;amp;o=1&amp;amp;p=26&amp;amp;l=ur1&amp;amp;category=software&amp;amp;banner=0WF0HTFHEXTR7GY2C382&amp;amp;f=ifr" style="border: medium none;" width="468"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
prasanth vasireddy said... &lt;br /&gt;
what are the argument to pass through this script..what are the deploy.properties file?.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-77643174102054711?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5dAcSlBzyfxrjPMrNh3avjQWAJQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5dAcSlBzyfxrjPMrNh3avjQWAJQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5dAcSlBzyfxrjPMrNh3avjQWAJQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5dAcSlBzyfxrjPMrNh3avjQWAJQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/4kXVU-hAXx0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/77643174102054711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=77643174102054711" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/77643174102054711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/77643174102054711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/4kXVU-hAXx0/deployment-script-using-wlst.html" title="My way of deployment with WLST" /><author><name>Pani</name><uri>http://www.blogger.com/profile/08954955997652365752</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_g6eQKpF5azY/SxF5x-Y4LDI/AAAAAAAAADM/aUOQSHsOjx8/S220/DSC02027.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/09/deployment-script-using-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcEQ3oyfCp7ImA9Wx9VF0s.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-4665790716483507724</id><published>2010-12-18T17:48:00.000-08:00</published><updated>2011-02-03T13:03:22.494-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-03T13:03:22.494-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="nmKill" /><category scheme="http://www.blogger.com/atom/ns#" term="nm" /><category scheme="http://www.blogger.com/atom/ns#" term="NodeManager" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic NodeManager" /><category scheme="http://www.blogger.com/atom/ns#" term="nmStart" /><title>Bounce Servers with NodeManager using WLST</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;My online buddy asked me to publish a wlst script for Node maneger that bounces WebLogic server. Its really wonderful thought having this idea with WLST.&lt;br /&gt;
&lt;br /&gt;
Have it your way&lt;br /&gt;
This script you can customized as per your environment.&lt;br /&gt;
Here you need to do the following which are instructed by buddy because I don't have NodeManager environment test this script. But strongly confident that this will work for you, &lt;br /&gt;
* please change the AdminServer's  Listen address, Listen port in connection module. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#===========================================
# This module will starts the NodeManager
# Author: Sumanth Krishna
#========================================
def startnm():
 try:
  progress=startNodemanger()
  progress.printStatus()
 except:
  print 'FAILED TO START NODE MANAGER'
  print dumpStack()
# The module NodeManager connects to the AdminServer
def connectnm():
 try:
  progress=nmConnect(user,passwd,WLHOST,NMPORT,domainname,domainpath,plain)
  progress.printStatus()
 except:
  print 'FAILED TO CONNECT NODE MANAGER'
  print dumpStack()

# This module is for starting the AdminServer pass AdminServer name
def startAdminServer(svrName):
  try:
    nmStart(svrName)
  except:
    print "Problem starting the Admin server "+svrName

# This module for starting the managed server
def startManagedServers():
 try:

 mbeans = home.getMBeansByType("ServerLifeCycleRuntime")
 for i in mbeans:
  svrName = i.getName()
  if svrName != serverName:
   if i.getState() != "RUNNING":
    nmStart(svrName)
 except:
  print "Problem starting the managed server "+svrName

#Main functaion i.e., all functions used to call from here
if __name__== "main":
 startnm()
 connectnm()
 startAdminServer()
 startManagedServers()
       print 'DONE'
&lt;/pre&gt;&lt;br /&gt;
Review this script and write back comments and suggestions to me your trial outputs and issues... whatever you have with this&lt;br /&gt;
&lt;br /&gt;
Good Reference Links:&lt;br /&gt;
1. &lt;a href="http://blogs.oracle.com/jamesbayer/2010/01/weblogic_nodemanager_quick_sta.html"&gt;James Bayer blog&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-4665790716483507724?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JTlz-LbUAXw2DFMAtre4x4-LHhA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JTlz-LbUAXw2DFMAtre4x4-LHhA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JTlz-LbUAXw2DFMAtre4x4-LHhA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JTlz-LbUAXw2DFMAtre4x4-LHhA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/ayUBKw3AbEA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/4665790716483507724/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=4665790716483507724" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4665790716483507724?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4665790716483507724?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/ayUBKw3AbEA/bounce-servers-with-nodemanager-using.html" title="Bounce Servers with NodeManager using WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/12/bounce-servers-with-nodemanager-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4FRX8_cSp7ImA9Wx9aFEg.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-8973537586048273761</id><published>2010-12-02T13:56:00.000-08:00</published><updated>2011-03-06T16:48:34.149-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-06T16:48:34.149-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WLST edit" /><category scheme="http://www.blogger.com/atom/ns#" term="currentTree" /><category scheme="http://www.blogger.com/atom/ns#" term="ActivationTime" /><category scheme="http://www.blogger.com/atom/ns#" term="serverConfig" /><category scheme="http://www.blogger.com/atom/ns#" term="save" /><category scheme="http://www.blogger.com/atom/ns#" term="cancel" /><title>Switching from WLST edit tree</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;An online buddy pinged me today and asking 'Urgent!! I am in WLST edit session, I want to come out I don't know how to do that'. I asked did you done the modifications to the configuration?. He said 'yep! I want regular prompt from this edit!&amp;gt;'. I asked to try save(), activate() he said it don't works!!&lt;br /&gt;
&lt;br /&gt;
While working on edit tree you might gone some where and your remote connection got disconnected, re-entering to the edit session you can use startEdit().&lt;br /&gt;
&lt;br /&gt;
Oh.. ohh what else we can do? I had a thought he might want to navigate from edit tree to some other mbean tree. I asked him to try ' serverConfig() '. He is happily said it Works!!&lt;br /&gt;
&lt;br /&gt;
Best alternate is&amp;nbsp; using &lt;b style="background-color: yellow;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;currentTree()&lt;/span&gt;&lt;/b&gt;, This command enables you to store the current location in the hierarchy and easily return to it after browsing.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py"&gt;wls:/testdomain/edit&amp;gt; loc=currentTree()
wls:/testdomain/edit&amp;gt; serverRuntime()
Location changed to serverRuntime tree. This is a read-only tree with
ServerRuntimeMBean as the root.
For more help, use help('serverRuntime')
 
wls:/testdomain/serverRuntime&amp;gt; loc()
wls:/testdomain/edit&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;What is learning here?&lt;/span&gt;&lt;br /&gt;
WLST is having various options for MBeans traversals. Basic differences I understand are:&lt;br /&gt;
1. Read-only tree&lt;br /&gt;
2. Editable tree &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Read only trees&lt;/span&gt;&lt;br /&gt;
once you connected to the WebLogic domain  first you are in the serverConfig tree it is a read-only tree. Similarly you can navigate on the such read-only trees serverRuntime, domainRuntime, &lt;br /&gt;
&lt;br /&gt;
To save the changes which you made on the current configuration &lt;b style="color: #444444;"&gt;&lt;span style="background-color: yellow; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;save()&lt;/span&gt;&lt;/b&gt;. After saving you can continue the changes to the configuration. You make the changes permanent by &lt;b&gt;&lt;span style="background-color: yellow; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="background-color: yellow; color: black;"&gt;activate()&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;the configuration. When something configured wrong on your interactive WLST session you can use say UNDO for your settings by &lt;b style="background-color: yellow; color: black; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;cancelEdit('y')&lt;/b&gt;. It is like clicking on WebLogic administration console at the change control 'Undo All changes' button. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;Reference:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs92/config_scripting/reference.html#wp1179175"&gt;http://download.oracle.com/docs/cd/E13222_01/wls/docs92/config_scripting/reference.html#wp1179175&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://weblogicserver.blogspot.com/2009/03/check-for-resourceconfiguration.html"&gt;http://weblogicserver.blogspot.com/2009/03/check-for-resourceconfiguration.html &lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-8973537586048273761?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VX5DLZumwtort2aAcQf6H5XnwI4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VX5DLZumwtort2aAcQf6H5XnwI4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VX5DLZumwtort2aAcQf6H5XnwI4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VX5DLZumwtort2aAcQf6H5XnwI4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/18ov9I9Sj0M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/8973537586048273761/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=8973537586048273761" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8973537586048273761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8973537586048273761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/18ov9I9Sj0M/switching-from-wlst-edit-tree.html" title="Switching from WLST edit tree" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/12/switching-from-wlst-edit-tree.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCRXY8fSp7ImA9Wx9UEks.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-7100171318573853801</id><published>2010-11-15T15:48:00.000-08:00</published><updated>2011-02-09T08:32:44.875-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-09T08:32:44.875-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="domain migration" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic domain" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST example" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="updateDomain" /><category scheme="http://www.blogger.com/atom/ns#" term="addTemplate" /><title>WebLogic domain migration made easy by WLST</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Huge migrations will be done in short time. This will save lot of time, which consumes for configuring each system resource, user-defined resource on the domain. The customized WebLogic domain templates can be used for the following situations:&lt;br /&gt;
&lt;br /&gt;
This new feature is introduced from WebLogic 9.x onwards, we have wonderful options in WLST. &lt;br /&gt;
1. Default template to customized domain template&lt;br /&gt;
2. Existing Domain to customized domain template then domain&lt;br /&gt;
3. Domain Template from WebLogic 9.x to WebLogic 10.x domain and also supports this from WebLogic 10.x to WebLogic 11g migration process.&lt;br /&gt;
4. WebLogic Domain migrations from one machine to another&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_OP6lRcE1-Ag/TOSlSGybJiI/AAAAAAAADgQ/Kewm5pxJ-08/s1600/wmigration.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="95" src="http://3.bp.blogspot.com/_OP6lRcE1-Ag/TOSlSGybJiI/AAAAAAAADgQ/Kewm5pxJ-08/s400/wmigration.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;WebLogic Domain migration with WLST&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Let me explain my current experiment on Creating new WebLogic 11g Domain from existing WebLogic 9.2 domain. The basic steps I followed in offline are as :&lt;br /&gt;
1. creating template: readDomain() from the existing WebLogic 9.2 and create a domain template with writeTemplate().&lt;br /&gt;
2. configuring new domain: go to the destination machine and readTemplate(), writeDomain() &lt;br /&gt;
3. updating for new domain: readDomain() and then modify the ListenAddress, ListenPort, security settings, and Log details for the domain&lt;br /&gt;
4. after making all required changes use updateDomain()&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://gan.doubleclick.net/gan_click?lid=41000000033629163&amp;amp;pubid=21000000000291463"&gt;&lt;img alt="468x60" border="0" src="http://gan.doubleclick.net/gan_impression?lid=41000000033629163&amp;amp;pubid=21000000000291463" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This will reduce the pain of creating &lt;br /&gt;
1. DataSource&lt;br /&gt;
3. Multi DataSource&lt;br /&gt;
4. JMS module&lt;br /&gt;
5. Persistence store&lt;br /&gt;
6. Start scripts&lt;br /&gt;
7. Domain environment automatically updated&lt;br /&gt;
&lt;br /&gt;
Configure new domain templates &lt;br /&gt;
&lt;br /&gt;
A domain configured from an existing development server to new machine. all the domain files are hoped to new machine, but certain parameters dependent on the local configurations. Such as listen address for the admin server, here is the need of WLST in offline mode to rectify the current environment. readDomain() is the WLST command that gives the access to current configuration and reproduce that domain template with writeTemplate().&lt;br /&gt;
&lt;br /&gt;
Source machine:&lt;br /&gt;
&lt;pre class="py" name="code"&gt;readDomain('/home/domains/olddomain')
writeTemplate('/home/templatepath/olddomain.jar')
closeDomain()
&lt;/pre&gt;Now you can copy this template olddomain.jar file to destination machine and copy to the destination location. Execute following offline command sequence as follows:&lt;br /&gt;
&lt;pre class="py" name="code"&gt;createDomain('/olddoamin/path/template.jar’,’domainPath’,’user’, ‘passwd’)
&lt;/pre&gt;&lt;br /&gt;
For further updates you need to update one of the parameter that will make all the environment scripts updated for this new domain with new environment, So don't forget to update one of these following values:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;readTemplate('/home/templatepath/olddomain.jar')
writeDomain('/home/domains/newdomain')
closeTemplate()
readDomain('/home/domains/newdomain')
ls()
cd('Server')
ls()
cd('AdminServer')
set('ListenAddress','hostname.com')
set('ListenPort',10300) # Changing Admin Server ListenPort
set('Name','newAdmin') # Changing Admin server name

cd('/Server/newAdmin/Log/newAdmin')
set('FileName','/home/instances/newAdmin/logs/newAdmin.log')
updateDomain()
closeDomain()
&lt;/pre&gt;One of my online buddy asked me is there any chance to migrate from non WebLogic Application server to WebLogic. Right now it is not there, If Oracle give similar way of templates&amp;nbsp;for migrating from OCJ4 Application Server migration, Websphere migration, JBoss migration and TCat server migration templates&amp;nbsp;then it is more easy life for migrating from any J2EE server to any other. This is a very marketing strategy because it can make more revenue for Oracle and it is easy for customers&amp;nbsp;and&amp;nbsp;WLA&amp;nbsp;to migrate JEE applications&amp;nbsp;to Oracle WebLogic Server. What do you say dear blog reader?? Keep writing your suggestions, comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-7100171318573853801?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2_DqO4rXqG_RHfoH6WtKzOXfyT0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_DqO4rXqG_RHfoH6WtKzOXfyT0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2_DqO4rXqG_RHfoH6WtKzOXfyT0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2_DqO4rXqG_RHfoH6WtKzOXfyT0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/1TZjIyGRGYg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/7100171318573853801/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=7100171318573853801" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7100171318573853801?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7100171318573853801?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/1TZjIyGRGYg/weblogic-domain-migration-made-simple.html" title="WebLogic domain migration made easy by WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_OP6lRcE1-Ag/TOSlSGybJiI/AAAAAAAADgQ/Kewm5pxJ-08/s72-c/wmigration.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/11/weblogic-domain-migration-made-simple.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkANRHw5fyp7ImA9Wx9RFU4.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-5312230693654587768</id><published>2010-09-05T11:24:00.000-07:00</published><updated>2010-12-16T12:19:55.227-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-16T12:19:55.227-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="can't write cache file for" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Issues" /><title>WLST Issues</title><content type="html">Issues in WLST : &lt;br /&gt;
&lt;br /&gt;
While Starting with the WLST , we are facing the below issue:&lt;br /&gt;
&lt;br /&gt;
bash-3.00$ java weblogic.WLST&lt;br /&gt;
Initializing WebLogic Scripting Tool (WLST) ...&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/rt.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/weblogic92/server/lib/weblogic.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/rt.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/jsse.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/jce.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/charsets.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/sunjce_provider.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/sunpkcs11.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/dnsns.jar'&lt;br /&gt;
*sys-package-mgr*: can't write cache file for '/HomeServerInstancepath/bea/jdk150_10/jre/lib/ext/localedata.jar'&lt;br /&gt;
*sys-package-mgr*: can't write index file&lt;br /&gt;
Welcome to WebLogic Server Administration Scripting Shell&lt;br /&gt;
Type help() for help on available commands&lt;br /&gt;
wls:/offline&amp;gt;&lt;br /&gt;
&lt;div align="center"&gt;&lt;a href="http://www.fg-a.com/" target="_blank"&gt;&lt;img alt="animations" border="0" height="104" src="http://content.screencast.com/users/fg-a/folders/animations/media/ec9d636a-b731-4ade-bcbb-e40f85f1dc4a/4_bab_02.gif" width="129" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 468x60, created 10/17/10 */
google_ad_slot = "4251707814";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
To Fix the above issue, we have two options:&lt;br /&gt;
&lt;br /&gt;
1) We need to change the permissions of /var/tmp/wlstTemp directory content must be accessed by all users means to use "chmod 777"&lt;br /&gt;
or&lt;br /&gt;
2) we need to define the cache directory path using open for every user path as /tmp/wlstTemp &lt;br /&gt;
&lt;br /&gt;
bash-3.00$ java -Dpython.cachedir=/tmp/wlstTemp weblogic.WLST&lt;br /&gt;
Initializing WebLogic Scripting Tool (WLST) ...&lt;br /&gt;
&lt;br /&gt;
Welcome to WebLogic Server Administration Scripting Shell&lt;br /&gt;
&lt;script language="javascript" src="http://www.kqzyfj.com/placeholder-4898678?target=_blank&amp;amp;mouseover=Y" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
Type help() for help on available commands&lt;br /&gt;
&lt;br /&gt;
wls:/offline&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I found very good referrence blog who always talks technically :) that 'Techtalks' &lt;br /&gt;
&lt;a href="http://www.prasannatech.net/2009/02/jython-sys-package-mgr-processing-jar.html"&gt;http://www.prasannatech.net/2009/02/jython-sys-package-mgr-processing-jar.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now your turn to comment on this issue how do you feel when you see this on your Solaris machine or Linux machine :) &lt;br /&gt;
Keep posting your suggestions too...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-5312230693654587768?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hvGjW3SLohZDIbsafoA5Wy1ygcY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hvGjW3SLohZDIbsafoA5Wy1ygcY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hvGjW3SLohZDIbsafoA5Wy1ygcY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hvGjW3SLohZDIbsafoA5Wy1ygcY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/wKf-p-ovv4Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/5312230693654587768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=5312230693654587768" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5312230693654587768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5312230693654587768?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/wKf-p-ovv4Y/wlst-issues.html" title="WLST Issues" /><author><name>Pani</name><uri>http://www.blogger.com/profile/08954955997652365752</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_g6eQKpF5azY/SxF5x-Y4LDI/AAAAAAAAADM/aUOQSHsOjx8/S220/DSC02027.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/09/wlst-issues.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFSXg-fCp7ImA9Wx5QF0w.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-4892187329348993964</id><published>2010-09-05T11:14:00.000-07:00</published><updated>2010-09-05T12:41:58.654-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-05T12:41:58.654-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="ServerState" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="NodeManager" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><title>NodeManager Experiments using WLST</title><content type="html">Start n Stop the Server using NodeManager by WLST&lt;br /&gt;
&lt;br /&gt;
Manage the Server Life Cycle continues...&lt;br /&gt;
[2] Configure a NodeManager to start WebLogic Server instances (using console and command-line) &lt;br /&gt;
&lt;br /&gt;
Start n Stop Server using NodeManager by WLST:&lt;br /&gt;
&lt;br /&gt;
In the sun Solaris environment we need to change few nodemanager.properties to run the NodeManager. There are two kinds of Node Managers available &lt;br /&gt;
Java based Node manager&lt;br /&gt;
Script based Node manager&lt;br /&gt;
&lt;br /&gt;
while connecting to nodemanager we have received an error as below:&lt;br /&gt;
&lt;br /&gt;
Error encounter when the java native &lt;br /&gt;
bash-3.00$ tail -100f nodemanager.log &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
weblogic.nodemanager.common.ConfigException: Native version is enabled but node manager native library could not be loaded&lt;br /&gt;
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:239)&lt;br /&gt;
at weblogic.nodemanager.server.NMServerConfig.(NMServerConfig.java:179)&lt;br /&gt;
at weblogic.nodemanager.server.NMServer.init(NMServer.java:177)&lt;br /&gt;
at weblogic.nodemanager.server.NMServer.(NMServer.java:142)&lt;br /&gt;
at weblogic.nodemanager.server.NMServer.main(NMServer.java:327)&lt;br /&gt;
at weblogic.NodeManager.main(NodeManager.java:31)&lt;br /&gt;
Caused by: java.lang.UnsatisfiedLinkError: no nodemanager in java.library.path&lt;br /&gt;
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)&lt;br /&gt;
at java.lang.Runtime.loadLibrary0(Runtime.java:822)&lt;br /&gt;
at java.lang.System.loadLibrary(System.java:993)&lt;br /&gt;
at weblogic.nodemanager.util.UnixProcessControl.(UnixProcessControl.java:16)&lt;br /&gt;
at weblogic.nodemanager.util.Platform.getProcessControl(Platform.java:108)&lt;br /&gt;
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:237)&lt;br /&gt;
... 5 more&lt;br /&gt;
&lt;br /&gt;
java weblogic.WLST startAdmin.py wcludomNM&lt;br /&gt;
&lt;br /&gt;
connect('weblogic', 'weblogic', 't3://wlhost:7913')&lt;br /&gt;
nmEnroll('/home/wluser/domains/WLclsnm')&lt;br /&gt;
CLASSPATH to set for NodeManager:&lt;br /&gt;
export NM_HOME = $WL_HOME/common/nodemanager&lt;br /&gt;
&lt;br /&gt;
CLASSPATH=/export/home/wladmin/wl813/bea/jdk142_04/jre/lib/rt.jar:/export/home/wladmin/wl813/bea/jdk142_04/lib/rt.jar:/export/home/wladmin/wl813/bea/patches/CR204958_810sp3_v1.jar:/export/home/wladmin/wl813/bea/weblogic81/server/lib/weblogic.jar&lt;br /&gt;
&lt;br /&gt;
startNodeManager(verbose='true',NodeManagerHome='/home/wluser/bea/weblogic92/common/nodemanager')&lt;br /&gt;
&lt;br /&gt;
To Check the log of nodemanager.log&lt;br /&gt;
tail -100f /home/wluser/bea/weblogic92/common/nodemanager/nodemanager.log&lt;br /&gt;
&lt;br /&gt;
/home/wluser/bea/weblogic92/common/nodemanager/nodemanager.domains&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nmConnect('weblogic', 'weblogic', 'wlshostname','5556', 'WLclsnm', '/home/wluser/domains/WLclsnm')&lt;br /&gt;
&lt;br /&gt;
prps = makePropertiesObject('weblogic.ListenPort=9013')&lt;br /&gt;
wls:/WLclsnm/serverConfig&amp;gt;&lt;br /&gt;
wls:/WLclsnm/serverConfig&amp;gt; nmStart('app01',props=prps)&lt;br /&gt;
Starting server app02 ...&lt;br /&gt;
Error Starting server app02: weblogic.nodemanager.NMException: &lt;br /&gt;
Exception while starting server 'app02': java.io.IOException: Server failed to start up. See server output log for more details.&lt;br /&gt;
&lt;br /&gt;
prps = makePropertiesObject('weblogic.ListenPort=9013')&lt;br /&gt;
&lt;br /&gt;
start('wlctr', 'Cluster')&lt;br /&gt;
&lt;br /&gt;
nmStart('app02',props=prps) &lt;br /&gt;
Starting server AdminServer...&lt;br /&gt;
Server AdminServer started successfully&lt;br /&gt;
&lt;br /&gt;
nmConnect('weblogic', 'weblogic', 'remotehostnameofmanagedserver' '5556','WLclsnm', '/home/wluser/domains/','plain')&lt;br /&gt;
&lt;br /&gt;
Still workin progress to start the remotemanaged server by using wlst&lt;br /&gt;
(I am getting some errors when I tried ...will update this site Once it will done successfully if anybody is done plz post it as comment.) &lt;br /&gt;
Posted by Pani at 9:44 AM 1 comments: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Archana said... &lt;br /&gt;
Hi,&lt;br /&gt;
We are also facing the same issue. Not able to start managed servers using makepropertiesobject.&lt;br /&gt;
&lt;br /&gt;
Did u get any solution.&lt;br /&gt;
Yes, Archana, We found the Solution as using PLAIN type for NodeManager is good to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-4892187329348993964?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GRD018S8-LXSZoekBWYm4nnWiWs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GRD018S8-LXSZoekBWYm4nnWiWs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GRD018S8-LXSZoekBWYm4nnWiWs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GRD018S8-LXSZoekBWYm4nnWiWs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/MuzxZ3GFCDQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/4892187329348993964/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=4892187329348993964" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4892187329348993964?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4892187329348993964?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/MuzxZ3GFCDQ/nodemanager-experiments-using-wlst.html" title="NodeManager Experiments using WLST" /><author><name>Pani</name><uri>http://www.blogger.com/profile/08954955997652365752</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://3.bp.blogspot.com/_g6eQKpF5azY/SxF5x-Y4LDI/AAAAAAAAADM/aUOQSHsOjx8/S220/DSC02027.JPG" /></author><thr:total>6</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/09/nodemanager-experiments-using-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAMRHg9fCp7ImA9Wx9RF08.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-3609921374442136311</id><published>2010-08-25T21:20:00.000-07:00</published><updated>2010-12-18T17:39:45.664-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-18T17:39:45.664-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic" /><category scheme="http://www.blogger.com/atom/ns#" term="FREE" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="java.lang.Thread" /><category scheme="http://www.blogger.com/atom/ns#" term="sessionWLST sleep" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST GetOpt" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="bea" /><category scheme="http://www.blogger.com/atom/ns#" term="Jython GetOpt" /><category scheme="http://www.blogger.com/atom/ns#" term="Python GetOpt" /><title>Get Options for command line in WLST script</title><content type="html">&lt;span style="font-size: large;"&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Required a Python script for check if the WebLogic admin server is 'Running' or Not recursively&lt;br /&gt;
To execute this you have 2 options &lt;br /&gt;
1. Executing forever&lt;br /&gt;
2. timeout, interval as aruguments &lt;br /&gt;
&lt;br /&gt;
If it isn't keep checking forever or as long as is passed on the command- line with the -t parameter. The wait between checks can be modified with the -i parameter on the command line. &lt;br /&gt;
&lt;br /&gt;
There could be your environemnt also need such options for a Python script. This script will be a example for such requirements.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;strong&gt;Script Logic&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
Hey Smart WLAs what do you think the solution for the above problem statement?? Got any idea? I know you guys are very intelligents!! hope you got idea about getting options at command-line. Yes, it is possible for our WLST Script too, getopt is a python capability which allows us to accept the command line arguments with options -t, -i. Of-course my buddy struggle to find this clues on the Google almost took 2 days. &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;To read the command line values as dictionary and split as key, value pair and compare the key with desired options then performing the script according to user choice.&lt;/li&gt;
&lt;li&gt;If the user failed to enter the options at commandline exception handling with usage funcation. &lt;/li&gt;
&lt;li&gt;WLST connect to admin server regular function. &lt;/li&gt;
&lt;li&gt;Using sleep method for stopping the WLST execution for some time interval. Repeating this process till given timeout or run this above steps for forever.&lt;/li&gt;
&lt;/ol&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;pre name="code" class="py"&gt;#!/usr/bin/python
# Author : Raghunath
# Save Script as : checkAdmin.py 

import time
import getopt
import sys

# ========= connecting to Admin server ==================
def connectAdmin():
   r=1
   try:
        # Update the following line as per your environment
        connect(url='t3://AdminHost:AdminPort')
        print "*** Connected sucessesfully ***"
        r=0
        sys.exit(r)
    except:
        return r
 
def usage():
    print "Usage:"
    print "checkAdmin.py [-t timeout] [-i interval]"
    print "exit with 0 if find Admin Server"
    print "exit with 1 if do not find Admin Server"
    print "if no timeout is given, look for Admin Server until it is found"


# ===== Default settings ===================
Timeout = 0 
Interval = 25000
forever = 1

#====== Main program ===============================
try:
    opts, args = getopt.getopt( sys.argv[1:], "t:i", ["Timeout","Interval"] )
except getopt.GetoptError, err:
    print str(err)
    usage()
    sys.exit(2)

#===== Handling get options  ===============
for opt, arg in opts:
    if opt == "-t":
        Timeout = arg
        forever = 0
    elif opt == "-i":
        Interval = arg

while (forever == 1) or  (Timeout &amp;gt; 0):
     if connectsave() == 1:
         print 'Now, Sleeping  15 sec *************'
         java.lang.Thread.sleep( Interval )
         print 'Waking up after 15 sec ...'
     
      
print 'done'
&lt;/pre&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
To run the above script you can make a small shell script as follows: &lt;br /&gt;
# checkAdmin.sh&lt;br /&gt;
&lt;br /&gt;
. $WL_HOME/server/bin/setWLSEnv.sh&lt;br /&gt;
java weblogic.WLST checkAdmin.py "$@"&lt;br /&gt;
&lt;br /&gt;
Run this shell script as :&lt;br /&gt;
$ checkAdmin.sh -t 100 -i 20&lt;br /&gt;
&lt;br /&gt;
or you call directly python script as follows&lt;br /&gt;
$ java weblogic.WLST checkAdmin.py -t 100 -i 20&lt;br /&gt;
&lt;br /&gt;
Note that indentation is must for every Python script, please double check before you run the script. &lt;br /&gt;
Write back for any issues ariases when you execute&amp;nbsp;the script in your environment. &lt;br /&gt;
Referneces:&lt;br /&gt;
&lt;br /&gt;
# email functionality base on http://docs.python.org/library/email-examples.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-3609921374442136311?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f22OOBozwbKbxQTwikMGYomFHxQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f22OOBozwbKbxQTwikMGYomFHxQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f22OOBozwbKbxQTwikMGYomFHxQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f22OOBozwbKbxQTwikMGYomFHxQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/pZ23iD1E_Zg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/3609921374442136311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=3609921374442136311" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3609921374442136311?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3609921374442136311?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/pZ23iD1E_Zg/get-options-for-command-line-in-wlst.html" title="Get Options for command line in WLST script" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/08/get-options-for-command-line-in-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUICQ30_cCp7ImA9Wx9RF08.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-8628127740226241852</id><published>2010-08-24T00:27:00.000-07:00</published><updated>2010-12-18T17:52:42.348-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-18T17:52:42.348-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST class object" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="Multi DataSource" /><title>Configuring Multi DataSource</title><content type="html">Introducing Problem Statement for this post is WLST which enables us to configure any kind of resource on a WebLogic domain. Here I am with new attempt to configuring Multi Datasource. In most of new domain configurations you need to work separately for configuring Datasource. We are already seen how to configure a Dynamic Datasource with customized property file, Adding to the same topic now we are going to work on Multi Datasource configuration. &lt;br /&gt;
&lt;br /&gt;
The steps involved in multi datasource confiuration are as follows: &lt;br /&gt;
1. &lt;a href="http://wlstbyexamples.blogspot.com/2010/02/configuring-generic-datasource.html"&gt;Configure individual datasource &lt;/a&gt;&lt;br /&gt;
2. Configure a new multidatasource &lt;br /&gt;
3. Add the datasources created in steip 1 &lt;br /&gt;
&lt;br /&gt;
Keeping more flavor (Object-Orientation)&amp;nbsp;to your script we will create a Class in WLST this time. Are you ready??? I know you guys very intelligents and know all WLST tricks how they works and all!! Lets dive into the process of configuration.&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;pre name="code" class="py"&gt;#==========================================
# File name: ConfigMDS.py
# Please change the code (line 38) as per your environment and needs
# Author : Inteligent WLA :)
#=============================================

class MDS:          
 def __init__(self, nam):
  self.nam  = nam 

 def configMDS(self):
  n=self.nam
  try:
   cd('/')
   cmo.createJDBCSystemResource(n)
   cd('/JDBCSystemResources/'+n+'/JDBCResource/'+n)
   cmo.setName(n)
   cd('JDBCDataSourceParams/'+n)
   set('JNDINames',jarray.array([String(n)], String))
 
   cmo.setAlgorithmType('Failover')
   dslist=raw_input('Please enter comma separating Datasources for MDS:')
   cmo.setDataSourceList(dslist)
   cd('/JDBCSystemResources/'+n)
   targetType=raw_input('Target to (C)luster or (S)erver: ')
   if targetType in ('C','c') :
           clstrNam=raw_input('Cluster Name: ')
               set('Targets',jarray.array([ObjectName('com.bea:Name='+clstrNam+',Type=Cluster')], ObjectName))
          else:
               servr=raw_input('Server Name: ')
               set('Targets',jarray.array([ObjectName('com.bea:Name='+servr+',Type=Server')], ObjectName))
   print 'Succesfully configured MultiDataSource...'
   activation()
  except BeanAlreadyExistsException:
   print 'Error: '+n+' BeanAlreadyExists...'
       cancelEdit('y')
   exit()

#===== main program===============
if __name__== "main":
 connect('wlusr','paswd','t3://AdminUrl:AdminPort')
 edit()
 startEdit()
 
 mdsName = raw_input("Please enter MultiDataSource name: ")
  # create object, call configMDS
 MDS(mdsName).configMDS()
 print('Exiting...')
 exit()
 
&lt;/pre&gt;# Refer this link for valid values&lt;br /&gt;
# http://unni-at-work.blogspot.com/2009/03/multi-data-source-using-wlst.html&lt;br /&gt;
# http://edocs.bea.com/wls/docs100/wlsmbeanref/mbeans/JDBCDataSourceParamsBean.html#AlgorithmType&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-8628127740226241852?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KIVFrgPPFEgAGlppxDLJsGqaYC4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KIVFrgPPFEgAGlppxDLJsGqaYC4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KIVFrgPPFEgAGlppxDLJsGqaYC4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KIVFrgPPFEgAGlppxDLJsGqaYC4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/7XSss49adiU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/8628127740226241852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=8628127740226241852" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8628127740226241852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8628127740226241852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/7XSss49adiU/configuring-multi-datasource.html" title="Configuring Multi DataSource" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/08/configuring-multi-datasource.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEDQ3Y7fyp7ImA9Wx9RF08.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-5258182298825955600</id><published>2010-05-31T20:12:00.000-07:00</published><updated>2010-12-18T17:54:32.807-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-18T17:54:32.807-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic" /><category scheme="http://www.blogger.com/atom/ns#" term="JDBCServiceRuntime" /><category scheme="http://www.blogger.com/atom/ns#" term="JDBC Connection Pool Monitoring" /><category scheme="http://www.blogger.com/atom/ns#" term="JDBCDataSourceRuntimeMBeans" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><title>JDBC datasource monitoring</title><content type="html">"&lt;a href="http://wlstbyexamples.blogspot.com/2010/05/jdbc-monitoring.html"&gt;JDBC Monitoring&lt;/a&gt;" script, which I was published 2 days back works good for simple single data source and also multi datasources on a domain. But, there is an inadquate information about targeted servers that script doesn't have the flexibility for displaying those managed server mapping with a DataSource.&lt;br /&gt;
&lt;br /&gt;
One of blog follower(Mr. Venkatesh Durai) asked me for the same, A script works for managed server wise display for the Datasource performance monitoring with WLST. It was already discussed by Srikanth Sonti and Vijay Bheemaneni in Oracle WLST ORKUT forums.&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a href="http://www.orkut.com/Main#CommMsgs?cmm=33882543&amp;amp;tid=2567710184698021196&amp;amp;kw=monitoring+script+for+JDBC+using+wlst+%2F+java"&gt;Orkut link&lt;/a&gt;&lt;br /&gt;
Here we go with the latest script, HTH scriptors...&lt;br /&gt;
&lt;br /&gt;
 &lt;pre name="code" class="py"&gt;#========================================================
# ScriptFile: DSMonitor.py 
# Author : Pavan Devarakonda
# Purpose : Multi Datasource monitoring with Server wise
#========================================================
urldict={}
def conn():
try:
    print 'Connecting to Admin server....'
    connect(username, password, adminurl)
except:
    print 'Admin Server NOT in RUNNING state....'


def initialize():
    conn()
    try:
        serverlist=['app01','app02','app03'...]
        for s in serverlist:
            cd("/Servers/"+s)
            urldict[s]='t3://'+get('ListenAddress')+':'+str(get('ListenPort'))
            JDBCStat()
     except:
          print 'issue in accessing JDBC Pool'

def printline():
    print '------------------------------------------------------------'
def printHeadr():
    print 'JDBC CONNECTION POOLS STATISTICS'
    print ' '
    print 'Name      Max      Active  Active   WaitSecs Waiting  State'
    print '          capacity Current HighCnt  HighCnt  Count'
    printline()

def getJDBCDetails():
    pname=get("Name")
    pmcapacity=get("CurrCapacityHighCount")
    paccc = get("ActiveConnectionsCurrentCount")
    pachc = get("ActiveConnectionsHighCount")
    pwshc = get("WaitSecondsHighCount")
    pwfccc = get("WaitingForConnectionCurrentCount")
    pstate = get("State")
    print '%10s %7d %7d %7d %7d %7d %10s' % (pname,pmcapacity,paccc,pachc, pwshc,pwfccc,pstate)
    print ' '

def JDBCStat():
    Ks = urldict.keys()
    Ks.sort()
    printHeadr() 
    for s in Ks:
    try:
        connect(user, passwd,urldict[s])
        serverRuntime()
        cd('JDBCServiceRuntime/'+s+'/JDBCDataSourceRuntimeMBeans/')
print ' '+s
        printline()
        DSlist=ls(returnMap='true')
        for ds in DSlist:
            cd(ds)
            getJDBCDetails()
            cd('..')
    except:
 #pass
        print 'Exception'
        quit()

def quit():
    print ' Hit any key to Re-RUN this script ...' 
    Ans = raw_input("Are you sure Quit from WLST... (y/n)")
    if (Ans == 'y'):
        disconnect()
        stopRedirect()
    else:
        JDBCStat() 

if __name__== "main":
    redirect('./logs/JDBCCntwlst.log', 'false')
    initialize()
    print 'done'
&lt;/pre&gt;&lt;br /&gt;
&lt;a href="http://www.orkut.com/Main#CommMsgs?cmm=33882543&amp;amp;tid=2567710184698021196&amp;amp;kw=monitoring+script+for+JDBC+using+wlst+%2F+java"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;How to run this Script??&lt;/b&gt;&lt;br /&gt;
Recently one of my blog follower wrote to me " What is the right way for running this monitoring scripts?". Here I am editing my blogs for more readable and flexible for novice WLA.&lt;br /&gt;
&lt;br /&gt;
You need to update with your environment details at line 5, 11, 14. Create this script in a separate folder where you should maintain logs folder, this is expected by line 67. &lt;br /&gt;
&lt;br /&gt;
To run the above script you need to use regular WLST invoking command as follows:&lt;br /&gt;
&lt;pre&gt;prompt&amp;gt; java weblogic.WLST DSMonitor.py
&lt;/pre&gt;&lt;br /&gt;
This is universal way of running WLST I mean on UNIX flavours, on Windows, on Mac OS too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-5258182298825955600?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iJ46EZZGEDIYkSWLhBIbzs4q8aM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iJ46EZZGEDIYkSWLhBIbzs4q8aM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iJ46EZZGEDIYkSWLhBIbzs4q8aM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iJ46EZZGEDIYkSWLhBIbzs4q8aM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/l0JXNCrcKZo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/5258182298825955600/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=5258182298825955600" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5258182298825955600?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5258182298825955600?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/l0JXNCrcKZo/jdbc-datasource-monitoring.html" title="JDBC datasource monitoring" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/05/jdbc-datasource-monitoring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEINR3g9fip7ImA9Wx5UFU8.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-3097904150462641147</id><published>2010-05-29T15:31:00.000-07:00</published><updated>2010-10-19T14:09:56.666-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-19T14:09:56.666-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic" /><category scheme="http://www.blogger.com/atom/ns#" term="JDBC Connection Pool Monitoring" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>JDBC Monitoring</title><content type="html">One fine morning we (WLA support Team) got an assignment, The summary of the assignment was to find "How the WebLogic server instance performing for a DataSource?". WebLogic 9.x onwards a DataSource is associated with a ConnectionPool (a pool of connections to the DB). If we monitor ConnectionPool, inturn it is nothing but monitoring a DataSource.&lt;br /&gt;
&lt;br /&gt;
Of-course the task is not that easy, I have gone through various WebLogic forums to find a appropriate solution for this task.&lt;br /&gt;
&lt;br /&gt;
Oracle WebLogic provides two ways to Monitor a Datasource&lt;br /&gt;
1. Monitoring Datasource server wise&lt;br /&gt;
2. Testing the Connection Pool&lt;br /&gt;
&lt;br /&gt;
Here I am publishing the same script which Madan Noru/Satya prepared in the old bea fourms or ObjectMix forums. Only one thing is difference is that displaying pattern, I had created a separate header, so that output looks good to see in a table form. To make this possible I have used C-Style print command from Python Language. This format you can change as per your screen display size.&lt;br /&gt;
&lt;br /&gt;
The script will retrieve the JDBC Connection Pool MBean using adminHome, which is deprecated object in WLST. The output of the script will gives you the values of the following attributes: &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;DataSource Name &lt;/li&gt;
&lt;li&gt;Maximum Capacity of the Connection Pool at Run-time &lt;/li&gt;
&lt;li&gt;Active Connections Current Count &lt;/li&gt;
&lt;li&gt;Active Connections High Count &lt;/li&gt;
&lt;li&gt;Wait Seconds High Count &lt;/li&gt;
&lt;li&gt;Waiting For Connection Current Count&lt;/li&gt;
&lt;li&gt;State of the Connection Pool&lt;/li&gt;
&lt;/ul&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;pre class="brush:py"&gt;#=======================================================
# This script will monitor the JDBC CONNECTION POOL
# more details on this script contact: Pavan Devarkonda
#=======================================================
connect("username","passwd","t3://AdminIP:AdminPort")
try:
 poolrtlist=adminHome.getMBeansByType('JDBCConnectionPoolRuntime')
 print ' '
 print ' '
 print 'JDBC CONNECTION POOLS'
 print ' '
 print 'Name Max Active Active WaitSecs Waiting State'
 print ' capacity Current HighCnt HighCnt Count'

 for poolRT in poolrtlist:
  pname = poolRT.getName()
  pmaxcapacity = poolRT.getAttribute("MaxCapacity")
  paccc = poolRT.getAttribute("ActiveConnectionsCurrentCount")
  pachc = poolRT.getAttribute("ActiveConnectionsHighCount")
  pwshc = poolRT.getAttribute("WaitSecondsHighCount")
  pwfccc = poolRT.getAttribute("WaitingForConnectionCurrentCount")
  pstate = poolRT.getAttribute("State")
  print '%10s %7d %7d %7d %7d %7d %10s' % (pname,pmaxcapacity,paccc,pachc, pwshc,pwfccc,pstate)
  print ' '
except:
 print 'Error:'
 dumpStack()
 pass
disconnect()
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Refernce Object Mix discussion:&lt;/strong&gt;&lt;br /&gt;
http://objectmix.com/weblogic/549153-weblogic-monitoring-script-wlst-2.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-3097904150462641147?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TZ3d5-Uzmf4cEyNoXVBsyX_Jht4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TZ3d5-Uzmf4cEyNoXVBsyX_Jht4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TZ3d5-Uzmf4cEyNoXVBsyX_Jht4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TZ3d5-Uzmf4cEyNoXVBsyX_Jht4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/2_jQp35vY-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/3097904150462641147/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=3097904150462641147" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3097904150462641147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3097904150462641147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/2_jQp35vY-8/jdbc-monitoring.html" title="JDBC Monitoring" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/05/jdbc-monitoring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMHR3Y5fSp7ImA9Wx9bFUs.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-8921464850016750541</id><published>2010-05-28T13:14:00.000-07:00</published><updated>2011-02-24T07:13:56.825-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-24T07:13:56.825-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WLST sample" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic" /><category scheme="http://www.blogger.com/atom/ns#" term="mail from WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="smtp" /><category scheme="http://www.blogger.com/atom/ns#" term="sendmail" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST example" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10.3.3" /><category scheme="http://www.blogger.com/atom/ns#" term="ServerLifecycleRuntime" /><title>Mail from WLST when abnormal state for Server</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In most of production environments there could be possibility of a WebLogic server instance crash or not RUNNING state due to many reasons. But if we know the state of that WebLogic server instance then we can act immediately for further harm to be predicated and control over the happenings in the domain. &lt;br /&gt;
&lt;br /&gt;
Here I am with notifying alert mail message when one of the WebLogic Managed Server goes to SHUTDOWN state or UNKNOWN state or some other state which is not RUNNING. Phython language provides us SMTP library to send a mail from the machine.&lt;br /&gt;
&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
Assuming that your machine have SMTP mail service must enabled. Check before creating this script on the box. Here you can replace pavanwla@MAILSERVER.com with mailing address of your supporting WebLogic Administrators (WLA) list by comma separation. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#======================================================
# Script File : StatusMail.py
# Author      : Pavan Devarakonda
# Updated on  : 29th April 2010
#======================================================
import smtplib
import time

From = "wla@WLSERVER.com"
To   =["pavanwla@MAILSERVER.com"]
Date = time.ctime(time.time())
URL='t3://'+get('ListenAddress')+':'+str(get('ListenPort'))

def getServerNames():
   domainConfig()
   return cmo.getServers()

def mailing(name, stat):
    serverRuntime()
    serverConfig()
    if stat == 'SHUTDOWN':
        Subject = ' major: '
    else:
        Subject= 'Critical:'
    Subject= Subject + 'The Weblogic server instance ' +name + ' is ' + stat

    Text='The Server ' +name +'   in the '+ stat+'  Listening at URL ' + URL
    Msg = ('From: %s\r\nTo: %s\r\nDate: \%s\r\nSubject: %s\r\n\r\n%s\r\n' %(From, To, Date, Subject, Text))
    s = smtplib.SMTP('YOURSMTP.DOMAIN.COM')
    rCode = s.sendmail(From, To, Msg.as_string())
    s.quit()

    if rCode:
        print 'Fail to send message...'

def serverStatus(server):
    cd('/ServerLifeCycleRuntimes/' +server)
    return cmo.getState()

def checkStatus():
    try:
        connect('username','******','t3://adminIP:AdminPort')
        serverNames= getServerNames()
        domainRuntime()
        for name in serverNames:
            print name        
            serverState = serverStatus(name)
            if serverState == "SHUTDOWN": 
                mailing(name, serverState)
            elif serverStat == 'UNKNOWN':
                mailing(name, serverState)
    except:
        mailing('AdminServer','Connection Fail')

if __name__== "main":
    redirect('./logs/status.log', 'false')
    checkStatus()
    print 'done'

&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
To run the above script  you need to update few lines 7, 8 10, 27, and 40. Hope you have idea what need to replace in these lines. &lt;br /&gt;
&lt;br /&gt;
If any trouble write back to me :)&lt;br /&gt;
&lt;br /&gt;
To test run this script in UNIX/Windows/MacOS/anyother...&lt;br /&gt;
&lt;pre&gt;prompt&amp;gt; java weblogic.WLST StatusMail.py
&lt;/pre&gt;&lt;br /&gt;
Keep posting your valuable comments and suggestions on this post.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
1. http://docs.python.org/library/smtplib.html&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-8921464850016750541?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NxkkCJg5ZYnpf1IMRmVTBi5il8U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NxkkCJg5ZYnpf1IMRmVTBi5il8U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NxkkCJg5ZYnpf1IMRmVTBi5il8U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NxkkCJg5ZYnpf1IMRmVTBi5il8U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/i9ejfuaCqXM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/8921464850016750541/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=8921464850016750541" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8921464850016750541?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/8921464850016750541?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/i9ejfuaCqXM/mail-from-wlst-when-abnormal-state-for.html" title="Mail from WLST when abnormal state for Server" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/05/mail-from-wlst-when-abnormal-state-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQMQXk5eip7ImA9Wx9VEkg.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-6366742881667465614</id><published>2010-05-19T18:09:00.001-07:00</published><updated>2011-01-28T14:06:20.722-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-28T14:06:20.722-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Python tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="OEPE" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Overview" /><title>WebLogic Scripting Tool (WLST) Overview</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;There are&amp;nbsp;many newbies into the WebLogic stream ( Development/ Administration). Most of them are novice to WLST. I thought let me found a way to give you best links available on the net.&lt;br /&gt;
&lt;br /&gt;
After being in the development team one of my buddy asked me "your blogs are very nice, I want to learn WLST. But where to start? " My answer for all my blog readers who want to encourage newbies in WLST can pass this post.&lt;br /&gt;
&lt;br /&gt;
Currently WLST&amp;nbsp; is supporting Application Servers are listed as follows:&lt;br /&gt;
WebLogic 8.1&lt;br /&gt;
BEA WebLogic 9.0&lt;br /&gt;
BEA WebLogic 9.1&lt;br /&gt;
BEA WebLogic 9.2&lt;br /&gt;
BEA WebLogic 10.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WLST is first initiated in the BEA System Inc., days so it is supported since WebLogic 8.1 onwards with latest service packs till WebLogic version 10.0. After Oracle acquisition following are the versions:&lt;br /&gt;
Oracle WebLogic 10g R3&lt;br /&gt;
Oracle WebLogic 11gR1&lt;br /&gt;
Oracle WebLogic 11gR1 PatchSet 1 (10.3.1)&lt;br /&gt;
Oracle WebLogic 11gR1 PatchSet 2 (10.3.2)&lt;br /&gt;
Oracle WebLogic 11gR1 PatchSet 3 (10.3.3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;The best editor for WLST is given by Oracle is OEPE that supports all the above said versions of WebLogic Server runtime.&lt;br /&gt;
&lt;br /&gt;
A sample OEPE tutorial given by Edwin Biemond from Oracle.&lt;br /&gt;
&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://biemond.blogspot.com/2010/08/wlst-scripting-with-oracle-enterprise.html"&gt;WLST with Oracle Enterprise Pack for Eclipse &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;
Here I am sharing the wonderful presentation about WLST overview. Check this following SlideShare Presentation: it's very informative, it is by James Bayer who is the technical expert from Oracle.&lt;br /&gt;
&lt;div id="__ss_810935" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0px 4px;"&gt;&lt;a href="http://www.slideshare.net/jambay/weblogic-server-weblogic-scripting-tool-overview-presentation" title="Weblogic Server Weblogic Scripting Tool Overview"&gt;Weblogic Server Weblogic Scripting Tool Overview&lt;/a&gt;&lt;/b&gt;&lt;object height="355" id="__sse810935" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=weblogic-server-overview-weblogic-scripting-tool0-1228252752844434-9&amp;stripped_title=weblogic-server-weblogic-scripting-tool-overview-presentation" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse810935" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=weblogic-server-overview-weblogic-scripting-tool0-1228252752844434-9&amp;stripped_title=weblogic-server-weblogic-scripting-tool-overview-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style="padding: 5px 0px 12px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/jambay"&gt;jambay&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
I am also impressed by the YouTube videos which are giving basic Python programming tutorial, ideas, control logics.&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4Mf0h3HphEA?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4Mf0h3HphEA?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
You might wonder by seeing this &lt;a href="http://v.ku6.com/show/uYNC_OjyxYubvrH_.html"&gt;link&lt;/a&gt; but it is worthy to see in google chrome. Because the web-page is from china and entire page is in chineese language. If you have Google Chrome it will give you translate on top of the page you can choose your choice of language and have knowledge on WLST&amp;nbsp; :)&lt;br /&gt;
&lt;br /&gt;
Thankyou for visiting this post, feel free to post your comments after viewing these video links.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-6366742881667465614?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Iuhb9GaEUkMlqpQrJ_WzdlH3lVw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iuhb9GaEUkMlqpQrJ_WzdlH3lVw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Iuhb9GaEUkMlqpQrJ_WzdlH3lVw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iuhb9GaEUkMlqpQrJ_WzdlH3lVw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/F3A_8BrQDfQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/6366742881667465614/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=6366742881667465614" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/6366742881667465614?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/6366742881667465614?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/F3A_8BrQDfQ/weblogic-server-weblogic-scripting-tool.html" title="WebLogic Scripting Tool (WLST) Overview" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/05/weblogic-server-weblogic-scripting-tool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDRXs7eyp7ImA9Wx9QFko.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-7494404800142605041</id><published>2010-03-22T22:05:00.000-07:00</published><updated>2010-12-29T17:31:14.503-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-29T17:31:14.503-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Development" /><category scheme="http://www.blogger.com/atom/ns#" term="STATE_ACTIVE" /><category scheme="http://www.blogger.com/atom/ns#" term="Deployment" /><category scheme="http://www.blogger.com/atom/ns#" term="STATE_RETIRED" /><category scheme="http://www.blogger.com/atom/ns#" term="Production" /><category scheme="http://www.blogger.com/atom/ns#" term="SBS" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="version" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="Side-by-Side deployment" /><title>Side by Side Deployment with WLST</title><content type="html">&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;One of my&amp;nbsp;online&amp;nbsp;buddy requested me for a Side by Side(SBS) deployment&amp;nbsp;using WLST&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Description : A Python Script for SBS deployment.&lt;/div&gt;&lt;div&gt;The&amp;nbsp;project is in developing stage, the client need deploying the same applications with different versions must be available for development and testing teams,&lt;/div&gt;&lt;div&gt;an automated handy script is requested to prepare buddy WLA. To do this interesting &amp;nbsp;task, the plan for execution&amp;nbsp;is prepared as&amp;nbsp;following while doing the deployment criteria:&lt;/div&gt;&lt;div&gt;1. If the application is New and the version is new i.e no other version is in the ACTIVE state with the given appName,&amp;nbsp;the script will deploy the application &lt;/div&gt;&lt;div&gt;2. If one of the version of given application is in ACTIVE state visible in the console, then the developer is try to deploy the next version,&amp;nbsp;the script should do DeActivate the old version and deploy the new version.&lt;/div&gt;&lt;div&gt;3. so now already have two versions deployed on the domain one is : ACTIVE state and other is in RETIERED State then undeploy the REITRED versioned application with a timeout or deploy the new version so that it will make current ACTIVE application to RETIERED and new deployment to ACTIVE.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;For implementing the above logic in cronological way. Issue was with iterations. it was controlled by 'break' statement usually any C programmer knows it. And I have used here a flag variable 'appFlags'.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;like that we are maintained 2 version max in the console of the same app.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;div&gt;&lt;pre name="code" class="py"&gt;import sys

#=========================================================== 
# Function for fresh plain deployment
#=========================================================== 
def newDeploy(appName,ver):
    print 'Deploying .........'
    deploy(appName,'/path/applications/'+appName+'/'+ver , targets='AdminServer')
    startApplication(appName)

#=========================================================== 
# Function for finding the  Application Status
#===========================================================  
def appstatus(appName, serverName):
    cd('domainRuntime:/AppRuntimeStateRuntime/AppRuntimeStateRuntime')
    #get current real state for app in specific server
    currentState = cmo.getCurrentState(appName, serverName)
    return currentState

#===========================================================  
# Undeploying the given applicaiton
# Target we can change according to domain and applicaiton deployed on
#=========================================================== 
def unDeploy(appName):
    print 'stopping and undeploying ....'
    stopApplication(appName, targets='AdminServer')
    undeploy(appName, targets='AdminServer')


#=========================================================== 
# Main program here...
# Target you can change as per the need
#===========================================================  
appName=sys.argv[1]
ver=sys.argv[2]
connect(user, passwd, adminurl)
cd('AppDeployments')
appflag=0
y=ls(returnMap='true')
for i in y :
    if i.startswith(appName )  ==1:
#Checking for the application existence)
        print i
        print appstatus(i,'AdminServer')

if appstatus(i,'AdminServer')=='STATE_RETIRED' :
    appflag=1
    break
elif appstatus(i,'AdminServer')=='STATE_ACTIVE':
    appflag=2
else:
    print ' other Applications are Running '
    pass


if appflag == 1 :
    print 'application having RETIERED STATE ..'
    unDeploy(i)
    print appstatus(i,'AdminServer')
    newDeploy(appName,ver)
    print appstatus(i,'AdminServer')
elif appflag== 2:
    print 'Application exists in ACTIVE state...'
    newDeploy(appName,ver)
    print appstatus(i,'AdminServer')
else:
    print 'new application'
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;How to execute this?&lt;/span&gt;&lt;br /&gt;
Dear novice WLA, you can execute this script by re-defining your connection parameters at line 36. One more thing is the application targeted to AdminServer this may vary for your environment.&lt;br /&gt;
&lt;pre&gt;prompt$ java weblogic.WLST SBSDeploy.py&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-7494404800142605041?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QnMspZe0dyBIWOMO7K5pVtrxsb0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QnMspZe0dyBIWOMO7K5pVtrxsb0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QnMspZe0dyBIWOMO7K5pVtrxsb0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QnMspZe0dyBIWOMO7K5pVtrxsb0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/566IR8R_E_o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/7494404800142605041/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=7494404800142605041" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7494404800142605041?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/7494404800142605041?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/566IR8R_E_o/side-by-side-deployment-with-wlst.html" title="Side by Side Deployment with WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/03/side-by-side-deployment-with-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUABSXw8cSp7ImA9Wx9QF08.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-5326354400595501612</id><published>2010-02-12T20:33:00.000-08:00</published><updated>2010-12-30T08:49:18.279-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-30T08:49:18.279-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="nostage" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic" /><category scheme="http://www.blogger.com/atom/ns#" term="Production" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="ManagedServer" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="Stop" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="Cluster" /><category scheme="http://www.blogger.com/atom/ns#" term="Jython" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>Restarting  24 x 7 Domain with WLST</title><content type="html">Here I have little bit struggle to reach a conclusion that, what all servers need to stop? when to stop? the preparing script I did with my analysis that stated that few sites requires 24x7 HA. Few of them don't need the HA, that is site can have sometime outage where it doesn't have request for the application.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Me and Prasanna Yalam discussed about a strategy where every time you run few servers can be stopped from different physical locations. when starting them up then only next round of managed servers can be stopped. This strategy implementation firstly thought with 2 scripts then I made it 2 phases one by one can be done with user input. This module named as 'regularStop()', which supports 24x7 HA domain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;One more thing we need to consider here is most of the Production deployments are in nostage mode, when new version release of application code requires complete domain down option requirement. This is another module take cares where it will stop all clusters in the domain should be passed. The module named as 'releaseStop()'. This you can use for any WebLogic domain.&lt;/div&gt;&lt;div&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;After composing whole script ran it then found that there is need of server state or cluster state when it is given shutdown command. So every shutdown command is followed by state command given that gives more confidence on script how it is executing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;Finally by performing releaseStop() or RegularStop() we can go for stopping the Admin Server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Don't forget proper indentations, while editing my script it might be disturbed here.&lt;br /&gt;
&lt;pre name=code class="py"&gt;#====================================
# Script File: StopWLDomain.py
# This module is for 24x7  Domain****
# First phase stops few managed servers of few sites
# Second phase will be used for stop remaining servers
# Note that Second phase allowed only when you press 'y'
# before that you need to Start all the Phase 1 stopped servers.
#====================================
def conn():
 try:
  connect(user, passwd, adminurl)
 except ConnectionException,e:
  print '\033[1;31m Unable to find admin server...\033[0m'
  exit()

#====================================
# Stop all instances of a Cluster 
#====================================
def stopClstr(clstrName):
 try:
  shutdown(clstrName,"Cluster")
  state(clstrName,"Cluster")
 except Exception, e:
  print 'Error while shutting down cluster ',e
  dumpStack()
  return

#====================================
# All the instances of all Clusters will be down for release
#====================================
def releaseStop():
 clstrList=["webclstr1", "webclstr2'..."ejbclstr"]
 for clstr in clstrList:
  stopClstr(clstr) 

#====================================
# Stop a instances given as parameter 
#====================================
def stopInst(iservr):
 try:
  state(str(iservr))
  shutdown(str(iservr), 'Server',force="true")
  state(str(iservr))
 except Exception, e:
  print iservr, 'is having error in shutting down'
  pass

#====================================
# Regular Rstart is 24x7 supported for :SITE1, SITE2, SITE3
#====================================
def regularStop():
 clstrList=["non247clstr1", "non247clstr2"]
 for clstr in clstrList:
  stopClstr(clstr) 
 servrList=servrList=["app1","app2","app3"... "web1","web2"] #sitewise list of servers need to stop
 for inst in servrList:
  stopInst(inst)
 print 'Now, please start the instances exclude the phase 2 instances ...'
 phase2=raw_input("Want to proceed for Phase 2...(y/n)")
 if phase2 == 'y':
  serverList=["app4","web3"...] # remaining Managed Servers to stop after phase servers UP n Running
  for inst in serverList:
   stopInst(inst)

#====================================
# Exiting the script
#====================================
def quit():
 disconnect()
 exit()

#====================================
# The main script starts here...
#====================================
if __name__ == "main":
 conn()
 print ' 1. Regular Stop (24x7)\n 2. Release Stop\n 0. Quit\n'
 sAns=raw_input('Enter your choice: ')
 if int(sAns) == 1:
 regularStop()
 elif int(sAns) == 2:
 releaseStop()
 elif int(sAns)== 0:
 quit()
 else:
 print 'Warning: Invalid option...'
 exit()
 print 'Finally stopping admin now...'
 shutdown()

#========WLST=BY=EXAMPLES==============
&lt;/pre&gt;&lt;br /&gt;
You can run this script with java in your PATH and weblogic.jar in the CLASSPATH. &lt;br /&gt;
&lt;pre&gt;java weblogic.WLST StopWLDomain.py&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-5326354400595501612?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E_n9HVK0jerLpIQf_LXZijiakNo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_n9HVK0jerLpIQf_LXZijiakNo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E_n9HVK0jerLpIQf_LXZijiakNo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E_n9HVK0jerLpIQf_LXZijiakNo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/KAmxJlSc9Yg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/5326354400595501612/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=5326354400595501612" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5326354400595501612?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5326354400595501612?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/KAmxJlSc9Yg/restarting-24-x-7-domain-with-wlst.html" title="Restarting  24 x 7 Domain with WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/02/restarting-24-x-7-domain-with-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMBRnk4cCp7ImA9WhZSEUo.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-4305174373644959757</id><published>2010-02-07T21:06:00.000-08:00</published><updated>2011-03-26T14:04:17.738-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-26T14:04:17.738-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="cluster state" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST COLOR OUTPUT WEBLOGIC 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="server state" /><category scheme="http://www.blogger.com/atom/ns#" term="ServerLifecycleRuntime" /><title>Server State using WLST</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;While trouble shooting administrator need to check the status of all server instances. This is the basic need when the all the servers are in bounced for production code move. This same script can be applicable for the pre-production or staging environment too. WLST provides the built-in methods, which gives the status of the Server instance or servers in a Cluster. Here we will deal with individual instance wise data.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_OP6lRcE1-Ag/S3BvHqpZyyI/AAAAAAAADB0/qIMFMLdJtdA/s1600-h/lifecycle.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5435966927733902114" src="http://2.bp.blogspot.com/_OP6lRcE1-Ag/S3BvHqpZyyI/AAAAAAAADB0/qIMFMLdJtdA/s400/lifecycle.jpg" style="cursor: pointer; display: block; height: 78px; margin: 0px auto 10px; text-align: center; width: 338px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using above shown MBean hierarchy we can can fetch the all WebLogic domain server instance's states. If your production WebLogic domain consists of two digit (eg. 60 instances) or three digit number (eg. 120 instances) of managed server then, it is difficult to see all server’s state at once. Weblogic Administration console is unable to show all the servers in the domain on a single page. Navigating in between also a time eating process so think! think better way!! WLST has the solution. &lt;br /&gt;
&lt;br /&gt;
To get the status of all servers in the domain can be obtained with the following steps&lt;br /&gt;
1. Connect to the Admin Server&lt;br /&gt;
2. Fetch the server list from the domain runtime MBean&lt;br /&gt;
3. Iterate the loop and get the state of each managed server with Server Life Cycle Runtime MBean &lt;br /&gt;
4. Repeat if required the step 3 as per the user input&lt;br /&gt;
5. Finally disconnect &lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;pre class="py" name="code"&gt;################################################## 
# This script is used to check the status of all WL instances including the admin
###########################################################

def conn():
    UCF='/path/.AdminScripts/userConfigFile.sec'
    UKF='/path/.AdminScripts/userKeyFile.sec'
    admurl = "t3://hostname:wlport"

    try:
        connect(userConfigFile=UCF, userKeyFile=UKF, url=admurl)
    except ConnectionException,e:
        print '\033[1;31m Unable to find admin server...\033[0m'
        exit()

def ServrState():
    print 'Fetching state of every WebLogic instance'
#Fetch the state of the every WebLogic instance
    for name in serverNames:
        cd("/ServerLifeCycleRuntimes/" + name.getName())
        serverState = cmo.getState()
        if serverState == "RUNNING":
            print 'Server ' + name.getName() + ' is :\033[1;32m' + serverState + '\033[0m'
        elif serverState == "STARTING":
            print 'Server ' + name.getName() + ' is :\033[1;33m' + serverState + '\033[0m'
        elif serverState == "UNKNOWN":
            print 'Server ' + name.getName() + ' is :\033[1;34m' + serverState + '\033[0m'
        else:
            print 'Server ' + name.getName() + ' is :\033[1;31m' + serverState + '\033[0m'
        quit()

def quit():
    print '\033[1;35mRe-Run the script HIT any key..\033[0m'
    Ans = raw_input("Are you sure Quit from WLST... (y/n)")
    if (Ans == 'y'):
        disconnect()
        stopRedirect()
        exit()
    else:
        ServrState()

if __name__== "main":
    redirect('./logs/Server.log', 'false')       
    conn()
    serverNames = cmo.getServers()
    domainRuntime()
    ServrState()&lt;/pre&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Smart Script &lt;/span&gt;&lt;br /&gt;
Recently I have discussion with &lt;b&gt;Dianyuan Wang, &lt;/b&gt;state of the managed servers can be obtained with state() command. It can be used in two ways: To get individual managed server status you need to pass arguments as managed server name, type as 'Server'. Other one is to get individual Cluster wise status. This can be achieved by passing two arguments cluster name and type as 'Cluster'. The following script will be illustrate the second option. which I found that short code that gives same script outcome as above script. It could be leverage your scripting thoughts it is like a plain vanilla form as shown:&lt;br /&gt;
&lt;br /&gt;
Note: Hope you follow the WLST Tricks &amp; tips &lt;br /&gt;
&lt;pre class="py" name="code"&gt;try:
    connect(url = "t3://adminhostname:adminport")
except:
    print "Connection failed"
state('appclstr','Cluster')
state('web1clstr','Cluster')
state('web1clstr','Cluster')
...
state('webNclstr','Cluster')
&lt;/pre&gt;Extra Stroke of this new script is that prints how many servers available in each given cluster.&lt;br /&gt;
&lt;br /&gt;
Please write back your experiencing with this posting looking ahead for your comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-4305174373644959757?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z_Ug-GPnAnvTPw8S-gMazL2_e9w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z_Ug-GPnAnvTPw8S-gMazL2_e9w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z_Ug-GPnAnvTPw8S-gMazL2_e9w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z_Ug-GPnAnvTPw8S-gMazL2_e9w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/BesklBRVqK8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/4305174373644959757/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=4305174373644959757" title="20 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4305174373644959757?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4305174373644959757?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/BesklBRVqK8/server-state-using-wlst.html" title="Server State using WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_OP6lRcE1-Ag/S3BvHqpZyyI/AAAAAAAADB0/qIMFMLdJtdA/s72-c/lifecycle.jpg" height="72" width="72" /><thr:total>20</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/02/server-state-using-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04FRnszfSp7ImA9Wx9UE0s.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-5226652722639375296</id><published>2010-02-03T13:40:00.000-08:00</published><updated>2011-02-10T11:25:17.585-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-10T11:25:17.585-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="Generic" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><category scheme="http://www.blogger.com/atom/ns#" term="Create Datasource" /><title>Configuring a Generic Datasource</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Configuring the datasource is one time activity for production environment but where as for testing environment there is always need for change the datasource as per the demand. These changes makes interrupt majorly the development process. To improve this process we can have a Generic JDBC Data source configuring script.&lt;br /&gt;
&lt;br /&gt;
Creating the data source using a python script makes reusable. Here my perception is that if we don’t hard code the JDBC parameters it will be easy to use for all environments as well as for any kinds of drivers also.&lt;br /&gt;
&lt;br /&gt;
Initially lets go with single Data source creation with targeting to the user input Server it can be Managed Server or AdminServer (basic domain), later we can go on for improve further to target on Cluster.&lt;br /&gt;
&lt;br /&gt;
This scripting we can write in two ways offline and in online. In the offile mode we need to navigate the Mbean and create, configure parameter and finally do assign() them to a Server or Cluster of a domain. For the online script we need to set the target using setTarget() command. To do this we must connect to the Admin server and acquire lock on configuration repository by edit() or startEdit() commands.&lt;br /&gt;
&lt;br /&gt;
Oracle WebLogic supports jDriver for various DBMS. WebLogic also supports XA drivers for distributed databases. Supporting Third-Party Drivers also available from DBMS vendors. WebLogic supports Drivers for the following DBMS:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;Cloudscape DB2 PostgreSQL
Oracle  Ms SQL Progress
MySQL  PointBase Sybase
&lt;/pre&gt;&lt;br /&gt;
&lt;span style="font-size: 130%;"&gt;Configuring new data source custom properties&lt;/span&gt;&lt;br /&gt;
Now let us try to configure a new data source with a custom properties for Connection Pool parameters, weblogic console connecting parameters into a same file or you can specify with different properties files. When the properties file is used it must be loaded before first line of processing statement in the script. We have two options to load the properties one is using command line and other one is using loadProperties() method.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;###################****##############****########################
# Generic script applicable on any Operating Environments (Unix, Windows)
# ScriptName    : ConfigDS.py
# Properties    : ConfigDS.properties
# Author        : Srikanth Panda
# Updated by    : Pavan Devarakonda
###############     Connecting to Start     #################################
def connectAdmin() :
try:
connect(CONUSR,CONPWD, CONURL)
print('Successfully connected')
except:
print 'Unable to find admin server...'
exit()
################### Configuring Connection Pool #############################
def connPool(DSnam) :
DRVPARM='/JDBCSystemResources/'+DSnam+'/JDBCResource/'+DSnam+'/JDBCDriverParams/'+DSnam
cd(DRVPARM)
set('Url',DBURL)
set('DriverName',DBDRV)
set('Password',DBPASS)
cd(DRVPARM+'/Properties/'+DSnam)
cmo.createProperty('user')
cd(DRVPARM+'/Properties/'+DSnam+'/Properties/user')
set('Value',DBUSR)

############         Creating Data source    ###############################
def createDS() :
print('Naming the datasource')
DSnam = DSName
cmo.createJDBCSystemResource(DSnam)
RESOURCE='/JDBCSystemResources/'+DSnam+'/JDBCResource/'+DSnam
cd(RESOURCE)
set('Name',DSnam)

#Setting JNDI name
cd(RESOURCE+'/JDBCDataSourceParams/'+DSnam)
print RESOURCE+'/JDBCDataSourceParams/'+DSnam
set('JNDINames',jarray.array([String(DSnam)], String))

connPool(DSnam)

#Set Connection Pool specific parameters
cd(RESOURCE+'/JDBCConnectionPoolParams/'+DSnam)
cmo.setTestConnectionsOnReserve(true)
cmo.setTestTableName('SQL SELECT 1 FROM DUAL')
cmo.setConnectionReserveTimeoutSeconds(25)
cmo.setMaxCapacity(15)
cmo.setConnectionReserveTimeoutSeconds(10)
cmo.setTestFrequencySeconds(120)

cd(RESOURCE+'/JDBCDataSourceParams/'+DSnam)
cmo.setGlobalTransactionsProtocol('TwoPhaseCommit')
cd('/JDBCSystemResources/'+DSnam)

# targets the DS to Servers(Cluster or Server)
targetType=raw_input('Target to (C)luster or (S)erver: ')
if targetType in ('C','c') :
clstrNam=raw_input('Cluster Name: ')
set('Targets',jarray.array([ObjectName('com.bea:Name='+clstrNam+',Type=Cluster')], ObjectName))
else:
servr=raw_input('Server Name: ')
set('Targets',jarray.array([ObjectName('com.bea:Name='+servr+',Type=Server')], ObjectName))

###############     Main Script   #####################################
if __name__== "main":
print('This will enable you to create or update a Datasource')
connectAdmin()
edit()
startEdit()
# Create a new JDBC resource)
cd('/')
createDS()
save()
activate()
disconnect()
####################################
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The customized properties file "configDS.properties" goes like this:&lt;br /&gt;
&lt;pre class="brush:py"&gt;DBURL=jdbc:oracle:thin:@dbhostname:dbport:dbschema
DBDRV=oracle.jdbc.OracleDriver
DBPASS=dbpasswd
DBUSR=dbuser
DSName=myDs
CONUSR=system
CONPWD=*********
CONURL=hostname:adminport
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Now to execute the custom properties datasource script the command will be given as follows:&lt;br /&gt;
&lt;pre&gt;java weblogic.WLST –loadProperties ConfigDS.properties ConfigDS.py
&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-5226652722639375296?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0OoPuP4vcYdsAzgVkcfNsfMorUA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0OoPuP4vcYdsAzgVkcfNsfMorUA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0OoPuP4vcYdsAzgVkcfNsfMorUA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0OoPuP4vcYdsAzgVkcfNsfMorUA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/l6mIZ5uvKQ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/5226652722639375296/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=5226652722639375296" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5226652722639375296?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5226652722639375296?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/l6mIZ5uvKQ8/configuring-generic-datasource.html" title="Configuring a Generic Datasource" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/02/configuring-generic-datasource.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QCRHw-fCp7ImA9WhZXFkw.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-2540281930977905376</id><published>2010-01-31T19:16:00.000-08:00</published><updated>2011-05-05T09:02:45.254-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-05T09:02:45.254-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="MaxThreadsConstraints" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 10" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Self-tune ThreadPool" /><category scheme="http://www.blogger.com/atom/ns#" term="Capacity Constraint" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic scripting tool" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>Configuring a WorkManager using WLST</title><content type="html">We can configure a WorkManager and its related constraint or Request classes in two modes&lt;br /&gt;
1. online WLST&lt;br /&gt;
2. offline WLST&lt;br /&gt;
&lt;br /&gt;
The only difference here is targeting the WorkManger instance to a Server or a cluster, Online WLST requires&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;set('Targets',jarray.array([ObjectName('com.bea:Name=appClstr,Type=Cluster')], ObjectName))
set('Targets',jarray.array([ObjectName('com.bea:Name=app1,Type=Server')], ObjectName))
&lt;/pre&gt;&lt;br /&gt;
For the Offline WLST the target could be define as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;set('Target', app1)&lt;/pre&gt;The WorkManager configuration can be possible only when you navigate on SelfTuning tree. After navigating with cding to SelfTuning MBean hierarcy. You can list out the SelfTuning tree that consists of the following branch trees, which are allowed us to created new MBeans using create command. &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;ContextRequestClasses &lt;/li&gt;
&lt;li&gt;FairShareRequestClasses &lt;/li&gt;
&lt;li&gt;ResponseTimeRequestClasses &lt;/li&gt;
&lt;li&gt;Capacities&lt;/li&gt;
&lt;li&gt;MaxThreadsConstraints &lt;/li&gt;
&lt;li&gt;MinThreadsConstraints &lt;/li&gt;
&lt;li&gt;WorkManagers &lt;/li&gt;
&lt;/ol&gt;Here I am with few examples of my experiments with WorkManager and its constraints or Request Classess. To configure a new Global or Server instances wise or Cluster-wide Workmanager using &lt;strong&gt;online WLST&lt;/strong&gt; you need to follow the below steps:&lt;br /&gt;
&lt;br /&gt;
1. connect to the Administration Server.&lt;br /&gt;
2. switch to edit tree&lt;br /&gt;
3. configure a class or constraint for the WorkManager.&lt;br /&gt;
4. set the target as per your need to a server or to a cluster.&lt;br /&gt;
5. configure a new workmananger&lt;br /&gt;
6. navigate to the newly configured WorkManager MBean and set the constraint or class which created in the step 3.&lt;br /&gt;
7. target the workmanager to a server instance or to a cluster as per the need.&lt;br /&gt;
8. Save the changes and activate them.&lt;br /&gt;
9. While performing the above steps script code can throw WLSTException, BeanAlreadyExistsException&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: 130%;"&gt;MaxThreadsConstraints&lt;/span&gt;Now let us see the example for configuring a MaxThreadsConstraints using &lt;strong&gt;Online WLST&lt;/strong&gt;Here we are going to set the Count value as per the need in the runtime for the MaxThreadConstraint. Better you can also chance to target to Server instance instead of Cluster.&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#************************************************************************************
# Configure a WorkManager with  MaxThreadsConstrain
#************************************************************************************
from weblogic.descriptor import BeanAlreadyExistsException

try:
#connect('&lt;user&gt;','&lt;password&gt;','t3://adminHost:adminPort')

edit()
startEdit()
c=input('Enter the Max Thread Count: ')
mtc='MaxThreadsConstraint'+str(c)
cd('/SelfTuning/wd1')
cmo.createMaxThreadsConstraint(mtc)
cd('/SelfTuning/wd1/MaxThreadsConstraints/'+mtc)
cmo.setCount(c)
set('Targets',jarray.array([ObjectName('com.bea:Name=appClstr,Type=Cluster')], ObjectName))
cd('/SelfTuning/wd1')
wm = cmo.createWorkManager('pwm1')
cd('/SelfTuning/wd1/WorkManagers/pwm1')
set('Targets',jarray.array([ObjectName('com.bea:Name=appClstr,Type=Cluster')], ObjectName))
cmo.setMaxThreadsConstraint(getMBean('/SelfTuning/wd1/MaxThreadsConstraints/'+mtc))
save()
activate()
except (WLSTException, BeanAlreadyExistsException), e:
print 'Error in script:', e
cancelEdit('y')
else:
disconnect()
&lt;/password&gt;&lt;/user&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Then the outcome looks like below:&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt; execfile('ConfigWM1.py')
Connecting to t3://adminHost:port with userid system ...
Successfully connected to Admin Server 'padmin' that belongs to domain 'wd1'.
...


You already have an edit session in progress and hence WLST will
continue with your edit session.

Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
Enter the Max Thread Count: 45
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.
Activation completed
Disconnected from weblogic server: padmin&lt;/pre&gt;&lt;span style="font-size: 130%;"&gt;Capacity Constraint&lt;/span&gt;&lt;br /&gt;
Now let us see the example for configuring a capacity constraint using online WLST&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;pre class="py" name="code"&gt;#Capacity constraint
#************************************************************************************
from weblogic.descriptor import BeanAlreadyExistsException

try:
connect('&lt;user&gt;','&lt;password&gt;','t3://adminHost:adminPort')
edit()
startEdit()
cd('/SelfTuning/wd1')
cmo.createCapacity('pcap2')
cd('Capacities/pcap2')
set('Count',10)
set('Notes','This will set Capacity constraint')
set('Targets',jarray.array([ObjectName('com.bea:Name=appClstr,Type=Cluster')], ObjectName))
cd('/SelfTuning/wd1')
wm = cmo.createWorkManager('pwm2')
cd('/SelfTuning/wd1/WorkManagers/pwm2')
set('Targets',jarray.array([ObjectName('com.bea:Name=appClstr,Type=Cluster')], ObjectName))
cmo.setCapacity(getMBean('/SelfTuning/wd1/Capacities/pcap2'))
save()
activate()
except (WLSTException, BeanAlreadyExistsException), e:
print 'Error in script:', e
cancelEdit('y')
else:
disconnect()
&lt;/password&gt;&lt;/user&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The output will be like this:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="py" name="code"&gt;wls:/offline&amp;gt;  execfile('ConfigWM2.py')
Connecting to t3://adminHost:port with userid system ...
Successfully connected to Admin Server 'padmin' that belongs to domain 'wd1'.
....

Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.
Activation completed
Disconnected from weblogic server: padmin
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Please write back your feedback and comments on this post...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-2540281930977905376?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AKX3rcb6N4yvnVIBLt78WnfIPUM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AKX3rcb6N4yvnVIBLt78WnfIPUM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AKX3rcb6N4yvnVIBLt78WnfIPUM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AKX3rcb6N4yvnVIBLt78WnfIPUM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/KcS1EE15whU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/2540281930977905376/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=2540281930977905376" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/2540281930977905376?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/2540281930977905376?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/KcS1EE15whU/configuring-workmanager-using-wlst.html" title="Configuring a WorkManager using WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/01/configuring-workmanager-using-wlst.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMNSH0-fCp7ImA9WhRWFkw.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-4560521112423156901</id><published>2010-01-27T06:35:00.000-08:00</published><updated>2012-01-03T09:08:19.354-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T09:08:19.354-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WLST Offline" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 11g" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST Online" /><category scheme="http://www.blogger.com/atom/ns#" term="JMX" /><category scheme="http://www.blogger.com/atom/ns#" term="10.3" /><category scheme="http://www.blogger.com/atom/ns#" term="MBean" /><title>WLST Offline vs WLST Online</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;Working with WLST we have two different sections of commands available they are defined as: Offline, Online mode. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;WLST Offline&lt;/b&gt;: The WLST offline configuration commands analogous to the Configuration Wizard. You just need to know the navigation on the configuration MBean trees, modify the MBean attribute values. Internally this WLST offline commands works on WebLogic domain Configuration Framework, the Configuration Wizard also uses it.&lt;br /&gt;
Consistent results when using either tool read and write access to the configuration data that is persisted in the domain’s config directory or in a domain template JAR &lt;br /&gt;
These WLST offline commands intended to create a domain or modify a non-running domain. Used during WLS install to create samples domains &lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-0762912933528813";
/* 336x280, created 10/19/10 */
google_ad_slot = "4167369161";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;b&gt;WLST Online&lt;/b&gt;: The WLST online commands are analogous to the Administration Console changes after connecting to admin server. WLST Online mode is a Java Management Extension (JMX) client it allow you to interact with in-memory runtime Management Beans (MBeans). In the online administrator intended use the runtime management tools: configuration,&lt;br /&gt;
management, deployment, monitoring.&lt;br /&gt;
When you use connect() command at offline it will transfer your prompt to ServerConfig that indicates online command mode. Where the commands will execute directly on running/ active resources.&lt;br /&gt;
The following table shows the major differences between&lt;br /&gt;
Offline, Online commands:&lt;br /&gt;
&lt;style type="text/css"&gt;
.nobrtable br { display: none }
&lt;/style&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="nobrtable"&gt;&lt;table border="1" cellpadding="0" style="width: 450px;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
WLST Offline&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 392.85pt;" valign="top" width="524"&gt;&lt;br /&gt;
WLST Online&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
1.WLST Offline commands can do: &lt;br /&gt;
&lt;br /&gt;
a) Create/modify domain templates &lt;br /&gt;
&lt;br /&gt;
b) Create domains &lt;br /&gt;
&lt;br /&gt;
c) Extend an existing domains by access and modify the configuration for&lt;br /&gt;
an offline domain &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. WLST Offline mode commands can’t do: &lt;br /&gt;
&lt;br /&gt;
a) View runtime performance data &lt;br /&gt;
&lt;br /&gt;
b) Modify security data&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 392.85pt;" valign="top" width="524"&gt;&lt;br /&gt;
1. WLST Online commands can do: &lt;br /&gt;
&lt;br /&gt;
a) Change configuration when servers are in RUNNING state&lt;br /&gt;
&lt;br /&gt;
b) View runtime data for monitoring various runtime MBeans performances&lt;br /&gt;
&lt;br /&gt;
c) Deploy applications targeting to Servers or clusters &lt;br /&gt;
&lt;br /&gt;
d) Start and stop servers or cluster members.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. WLST Online commands can’t do the following: &lt;br /&gt;
&lt;br /&gt;
a) Create a new domain (must be offline mode) you can only update an&lt;br /&gt;
existing domain configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
3. Default interactive mode will be in offline mode&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 392.85pt;" valign="top" width="524"&gt;&lt;br /&gt;
3. The offline connect() command changes to online, disconnect() command&lt;br /&gt;
used to come back to offline. Mostly script mode is useful.&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
4. Configuring resources like JDBC, JMS can be assigned with assign()&lt;br /&gt;
command to targets.&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 392.85pt;" valign="top" width="524"&gt;&lt;br /&gt;
4. Configuring resources required set command with Targets as argument and&lt;br /&gt;
committing the changes with save(), activate() commands.&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
5. The Offline commands are executed faster &lt;br /&gt;
&lt;/td&gt;&lt;td style="border-bottom: 0.75pt outset; border-left: 0.75pt outset; border-right: 0.75pt outset; border-top: 0.75pt outset; padding-bottom: 0in; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0in; width: 410.05pt;" valign="top" width="547"&gt;&lt;br /&gt;
5. Online commands are slower because they have to interact with live objects. &lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;    
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
Earlier this table was big aquard to look now it reshaped with proper wraper, that overcome blogger table blanks issue.&lt;br /&gt;
&lt;br /&gt;
Hope this table helped you!! Keep writing your feedback comments!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-4560521112423156901?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LMktHdpKsOuYpbvuaWxCs_ZWG84/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LMktHdpKsOuYpbvuaWxCs_ZWG84/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LMktHdpKsOuYpbvuaWxCs_ZWG84/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LMktHdpKsOuYpbvuaWxCs_ZWG84/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/_rrH0VyZ2r0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/4560521112423156901/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=4560521112423156901" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4560521112423156901?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/4560521112423156901?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/_rrH0VyZ2r0/wlst-offline-vs-wlst-online.html" title="WLST Offline vs WLST Online" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/01/wlst-offline-vs-wlst-online.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MDQXY6fip7ImA9WxBRF04.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-5727973730359678150</id><published>2010-01-05T14:44:00.001-08:00</published><updated>2010-01-05T14:44:30.816-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T14:44:30.816-08:00</app:edited><title /><content type="html">&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTI2MjczMTM2OTMwOSZwdD*xMjYyNzMxNDY3NzM1JnA9MTMyODEmZD1jb21tZW5*c2JhciZuPWJsb2dnZXImZz*xJm89NmUyYjc3ZTBmMTJjNGRlNDkxOTA*NTI5NWFmYzcwYjM=.gif" /&gt;&lt;br /&gt;&lt;a href="http://www.commentsbar.com/?item=10219"&gt;&lt;img src="http://s335.photobucket.com/albums/m455/commentsbar1/pic2/BTwxpfAa4112p_11.gif" border="0" alt="myspace comments"&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://www.commentsbar.com"&gt;Get &lt;b&gt;MySpace Comments&lt;/b&gt; without leaving myspace!&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-5727973730359678150?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bt8gmr6MPZeoi8Uh_wzjy5EFKy0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bt8gmr6MPZeoi8Uh_wzjy5EFKy0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bt8gmr6MPZeoi8Uh_wzjy5EFKy0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bt8gmr6MPZeoi8Uh_wzjy5EFKy0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/QIUyM0KNnMk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/5727973730359678150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=5727973730359678150" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5727973730359678150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/5727973730359678150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/QIUyM0KNnMk/get-myspace-comments-without-leaving.html" title="" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2010/01/get-myspace-comments-without-leaving.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04NQng_fSp7ImA9Wx5WEE0.&quot;"><id>tag:blogger.com,1999:blog-7333189570510911465.post-3360035611695594932</id><published>2009-11-14T18:17:00.000-08:00</published><updated>2010-09-20T11:06:33.645-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-20T11:06:33.645-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="queue" /><category scheme="http://www.blogger.com/atom/ns#" term="JMSRuntime" /><category scheme="http://www.blogger.com/atom/ns#" term="WebLogic 9.2" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="sample" /><category scheme="http://www.blogger.com/atom/ns#" term="10g" /><category scheme="http://www.blogger.com/atom/ns#" term="WLST" /><category scheme="http://www.blogger.com/atom/ns#" term="JMS monitoring" /><title>JMS Monitoring using WLST</title><content type="html">Let me walk through the script, The script is refering to a secure way of user credential usage in the WLST that is given &lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/config_scripting/reference.html#wp1049091"&gt;here&lt;/a&gt; .&lt;br /&gt;
storeUserConfig() command in WLST can generates 2 file suserKeyFile, userConfigFile. These we can use multiple times in the script so I declared it on the top, Global scope variables, which can be used by any method in the script.&lt;br /&gt;
Coming to downside of the script, where you can find the main program logic. We need to understand from the main program onwards that is the good programmer reading habit :). &lt;br /&gt;
&lt;br /&gt;
In the main module we don't want to see unnessary data while running the script just want to see , so redirect useless data. first connect to the admin server in the domain. &lt;br /&gt;
&lt;br /&gt;
Initialization of the URL dictionary for multiple server instances domain. The JmsStat module will tell you the actual status of each JMSRumtime Mbeans. &lt;br /&gt;
&lt;br /&gt;
Here I got two hurdles the all script output is not from same MBean. I need to display the JMS statics from JMSRuntime MBean and need to navigate to the instance's specific JMS.&lt;br /&gt;
&lt;br /&gt;
The list (ls) content need to store in variable and need to cding (cd)&lt;br /&gt;
myJmsls=ls(returnMap='true')&lt;br /&gt;
&lt;br /&gt;
This makes turning point for the following script we surf for this found Satya Gattu Answer in ObjectMix.&lt;br /&gt;
&lt;br /&gt;
Here (myJmsls) variable holds the value into list datastructure. Just by pointing index the value will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;script src="http://pastebin.com/embed_js.php?i=2udyNLsP"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7333189570510911465-3360035611695594932?l=wlstbyexamples.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5OdG-qx-Cpma7U0NryGuqw2SAWY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5OdG-qx-Cpma7U0NryGuqw2SAWY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5OdG-qx-Cpma7U0NryGuqw2SAWY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5OdG-qx-Cpma7U0NryGuqw2SAWY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/WlstMyExperiments/~4/LtkSKohMMPE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://wlstbyexamples.blogspot.com/feeds/3360035611695594932/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7333189570510911465&amp;postID=3360035611695594932" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3360035611695594932?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7333189570510911465/posts/default/3360035611695594932?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WlstMyExperiments/~3/LtkSKohMMPE/jms-monitoring-using-wlst.html" title="JMS Monitoring using WLST" /><author><name>Pavan Bhavani Shekhar</name><uri>http://www.blogger.com/profile/06638309611528564002</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/--5E2rzEd9ao/Tl7__UfdxWI/AAAAAAAADwk/XuJFt-5w7_4/s220/pav1.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://wlstbyexamples.blogspot.com/2009/11/jms-monitoring-using-wlst.html</feedburner:origLink></entry></feed>

