you can do automated testcases in SOAPUI wor Web Application, by automatically recording a web experience (using the internal SOAPUI browser) and later adding assertions.
http://www.soapui.org/Web-and-HTTP/getting-started.html
This is how to add assertions once you have recorded the web session
Monday, July 30, 2012
Friday, July 27, 2012
loadui unable to load resource http://dl.javafx.com/1.3/javafx-rt.jnlp
loadui unable to load resource http://dl.javafx.com/1.3/javafx-rt.jnlp
the wrapped exception is
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The exception is
om.sun.deploy.net.FailedDownloadException: Unable to load resource: http://dl.javafx.com/1.3/javafx-rt.jnlp
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
http://www.loadui.org/installing-loadUI/installation-troubleshooting.html
"The workaround for this is to first install JavaFX SDK 1.3.1 and the install loadUI on a different machine which has an Internet connection, and then copy the installation to the desired computer (the one without a connection). Finally, start loadUI with the loadUItest.bat file."
still working on it.... how sad.... it must be because we are behind a proxy...
the wrapped exception is
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The exception is
om.sun.deploy.net.FailedDownloadException: Unable to load resource: http://dl.javafx.com/1.3/javafx-rt.jnlp
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCachedFile(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensionsHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.downloadExtensions(Unknown Source)
at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
http://www.loadui.org/installing-loadUI/installation-troubleshooting.html
"The workaround for this is to first install JavaFX SDK 1.3.1 and the install loadUI on a different machine which has an Internet connection, and then copy the installation to the desired computer (the one without a connection). Finally, start loadUI with the loadUItest.bat file."
still working on it.... how sad.... it must be because we are behind a proxy...
Labels:
loadui
ssh Server refused our key
chmod 600 .ssh/authorized_keys
fixed the issue
don't ask me why the login process is so fussy... they should at least give you a warning or hint or something...
fixed the issue
don't ask me why the login process is so fussy... they should at least give you a warning or hint or something...
Labels:
ssh
loadui: jar resources in JNLP file are not signed by same certificate
javaws -uninstall
this fixed the problem
this fixed the problem
Labels:
loadui
Thursday, July 26, 2012
HttpClient and HTTPS
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
http://javaskeleton.blogspot.ch/2010/07/avoiding-peer-not-authenticated-with.html (too complicated, and the code doesn't give the imports.... grrrrr....)
http://www.koders.com/java/fid22A749424D86D13C8E8530A62ADC9689E7DC6F67.aspx
org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory "can be used to creats SSL Sockets that accept self-signed certificates"
it's in commons-ssl.jar or not-yet-commons-ssl jar http://juliusdavies.ca/commons-ssl/download.html
I try the
Protocol easyHttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
Protocol.registerProtocol("https", easyHttps);
where Protocol is http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/protocol/Protocol.html and it's part of commons-httpclient-3.1.jar
This gives a full working example:
https://discursive.atlassian.net/wiki/display/CJCOOK/Accepting+a+Self-Signed+Certificate
and the imports are:
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.security.GeneralSecurityException;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
I do this:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpClient httpclientWrapped = wrapClient(httpclient);
where
(change 443 for your own port)
but I still get
Connection reset at java.net.SocketInputStream.read
http://javaskeleton.blogspot.ch/2010/07/avoiding-peer-not-authenticated-with.html (too complicated, and the code doesn't give the imports.... grrrrr....)
http://www.koders.com/java/fid22A749424D86D13C8E8530A62ADC9689E7DC6F67.aspx
org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory "can be used to creats SSL Sockets that accept self-signed certificates"
it's in commons-ssl.jar or not-yet-commons-ssl jar http://juliusdavies.ca/commons-ssl/download.html
I try the
Protocol easyHttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
Protocol.registerProtocol("https", easyHttps);
where Protocol is http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/protocol/Protocol.html and it's part of commons-httpclient-3.1.jar
This gives a full working example:
https://discursive.atlassian.net/wiki/display/CJCOOK/Accepting+a+Self-Signed+Certificate
and the imports are:
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.security.GeneralSecurityException;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
I do this:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpClient httpclientWrapped = wrapClient(httpclient);
where
public static HttpClient wrapClient(HttpClient base) { try { SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { @Override public void checkClientTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException { // TODO Auto-generated method stub } @Override public void checkServerTrusted( java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException { // TODO Auto-generated method stub } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { // TODO Auto-generated method stub return null; } }; ctx.init(null, new TrustManager[]{tm}, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx); ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = base.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", ssf, 443)); return new DefaultHttpClient(ccm, base.getParams()); } catch (Exception ex) { return null; } }
(change 443 for your own port)
but I still get
Connection reset at java.net.SocketInputStream.read
Labels:
https
Wednesday, July 25, 2012
Waiting to synchronize with other running members of mycluster
If using unicast cluster and WebLogic Servers take a long time to startup, you can check for the message "Waiting to synchronize with other running members of " and see if it corresponds to a silence of 30 seconds.
If this is the case, you can change at cluster level the "Member Warmup Timeout":
"Maximum number of seconds that a cluster member will wait to discover and synchronize with other servers in the cluster. Normally, the member will be able to sync in 30 seconds. If the value of this attribute is higher, that does not necessarily mean that it will take longer for the member to warmup. Instead it defines an upper bound on the time that a server will wait to sync with the servers that it has discovered. If the value is set 0, servers will not attempt to discover other running server in the cluster during server initialization"
If this is the case, you can change at cluster level the "Member Warmup Timeout":
"Maximum number of seconds that a cluster member will wait to discover and synchronize with other servers in the cluster. Normally, the member will be able to sync in 30 seconds. If the value of this attribute is higher, that does not necessarily mean that it will take longer for the member to warmup. Instead it defines an upper bound on the time that a server will wait to sync with the servers that it has discovered. If the value is set 0, servers will not attempt to discover other running server in the cluster during server initialization"
Labels:
cluster
Running a Unix shell script from JSP on Tomcat
Let's start with the simplest version of Runtime.exec()
if I do:
<%
java.lang.Runtime.getRuntime().exec("/home/soa/proton/runme.sh", new String[] {"MYVAR=FANCULON"});
%>
you pass to the script the System variable MYVAR with the value FANCULON
runme.sh contains:
echo $MYVAR > myvar.log
myvar.log ends up in Tomcat bin directory, which is assumed as "current directory" for the script.
I can do better by specifying the current directory for the process with this other version of exec.
So if I do
java.lang.Runtime.getRuntime().exec("/home/soa/proton/runme.sh", new String[] {"MYVAR=FANCULON"}, new java.io.File("/home/soa/proton/"));
the myvar.log is written in /home/soa/proton/
if I do:
<%
java.lang.Runtime.getRuntime().exec("/home/soa/proton/runme.sh", new String[] {"MYVAR=FANCULON"});
%>
you pass to the script the System variable MYVAR with the value FANCULON
runme.sh contains:
echo $MYVAR > myvar.log
myvar.log ends up in Tomcat bin directory, which is assumed as "current directory" for the script.
I can do better by specifying the current directory for the process with this other version of exec.
So if I do
java.lang.Runtime.getRuntime().exec("/home/soa/proton/runme.sh", new String[] {"MYVAR=FANCULON"}, new java.io.File("/home/soa/proton/"));
the myvar.log is written in /home/soa/proton/
Tuesday, July 24, 2012
WLST (python) find script folder
this will return the folder from which WLST is run, not the script folder:
import os
print os.getcwd()
this seems to return the FULL PATH of the script:
print sys.argv[0]
then with:
import os
print os.path.dirname(sys.argv[0])
you can get the directory
(update: sys.argv[0] contains only the filename, not the full path, if you run WLST from the same location as the script file)
sys.argv[0] = createDatasourcesFromCMDB.py
os.path.dirname(sys.argv[0]) =
os.getcwd()=/home/soa/proton
os.path.realpath(os.path.dirname(sys.argv[0])) = /home/soa/proton
So the only thing that really works under all circumstances is
os.path.realpath(os.path.dirname(sys.argv[0]))
import os
print os.getcwd()
this seems to return the FULL PATH of the script:
print sys.argv[0]
then with:
import os
print os.path.dirname(sys.argv[0])
you can get the directory
(update: sys.argv[0] contains only the filename, not the full path, if you run WLST from the same location as the script file)
sys.argv[0] = createDatasourcesFromCMDB.py
os.path.dirname(sys.argv[0]) =
os.getcwd()=/home/soa/proton
os.path.realpath(os.path.dirname(sys.argv[0])) = /home/soa/proton
So the only thing that really works under all circumstances is
os.path.realpath(os.path.dirname(sys.argv[0]))
Labels:
WLST
The beauty of LISTAGG
http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php
I have been struggling for a while looking for a way to CHAIN (CONCAT) a column while GROUP BY another column....
Looked into "OVER (PARTITION BY deptno)" ...(oracle analytics)
Looked into STRAGG....
LISTAGG does it in the simplest possible way.
SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;
I have been struggling for a while looking for a way to CHAIN (CONCAT) a column while GROUP BY another column....
Looked into "OVER (PARTITION BY deptno)" ...(oracle analytics)
Looked into STRAGG....
LISTAGG does it in the simplest possible way.
SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno;
WLST script skeleton
fileName = sys.argv[1] print 'Loading properties from ', fileName propInputStream = FileInputStream(fileName) configProps = Properties() configProps.load(propInputStream) adminURL = configProps.get("admin.url") adminUserName = configProps.get("admin.userName") adminPassword = configProps.get("admin.password") connect(adminUserName, adminPassword, adminURL) try: edit() startEdit() cd('/') .... your code here validate() save() activate() except: dumpVariables() dumpStack() print 'Some error message here' print '' undo('true', 'y') cancelEdit('y')
Labels:
WLST
WLST "Product property file not found" and .product.properties
in com.oracle.cie.domain.script.jython.WLScriptContext
it expects a System property "prod.props.file" to be set, and it should point to a directory where a .product.properties property file should be present.
find /opt/oracle -name .product.properties 2> /dev/null
/opt/oracle/fmw11_1_1_5/wlserver_10.3/.product.properties
/opt/oracle/fmw11_1_1_5/coherence_3.6/.product.properties
/opt/oracle/fmw11_1_1_5/oracle_common/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/wlserver_10.3/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/coherence_3.6/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/oracle_common/.product.properties
less /opt/oracle/fmw11_1_1_5/wlserver_10.3/.product.properties
#Mon May 07 22:37:48 CEST 2012
JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
USER_LANGUAGE=en
NODEMGR_PORT=5556
WLS_INSTALL_DIR=/opt/oracle/fmw11_1_1_5/wlserver_10.3
COHERENCE_HOME=/opt/oracle/fmw11_1_1_5/coherence_3.6
LOCALE=ccjk
WLS_JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
WL_HOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
java.vm.version=20.6-b01
MW_HOME=/opt/oracle/fmw11_1_1_5
WLS_JAVA_VENDOR=Sun
weblogic.server.modules.featurejar=/opt/oracle/fmw11_1_1_5/modules/features/weblogic.server.modules_10.3.5.0.jar
javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
PLATFORMHOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
WLS_PRODUCT_VERSION=10.3.5.0
java.vm.vendor=Sun Microsystems Inc.
BEAHOME=/opt/oracle/fmw11_1_1_5
DOCSWEBROOT=http\://download.oracle.com/docs/cd/E17904_01/web.1111
CONFIGWIZ_HOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
JAVAHOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
ALSB_INSTALL_DIR=/opt/oracle/fmw11_1_1_5/osb
it expects a System property "prod.props.file" to be set, and it should point to a directory where a .product.properties property file should be present.
find /opt/oracle -name .product.properties 2> /dev/null
/opt/oracle/fmw11_1_1_5/wlserver_10.3/.product.properties
/opt/oracle/fmw11_1_1_5/coherence_3.6/.product.properties
/opt/oracle/fmw11_1_1_5/oracle_common/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/wlserver_10.3/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/coherence_3.6/.product.properties
/opt/oracle/fmw11_1_1_5_ORI/oracle_common/.product.properties
less /opt/oracle/fmw11_1_1_5/wlserver_10.3/.product.properties
#Mon May 07 22:37:48 CEST 2012
JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
USER_LANGUAGE=en
NODEMGR_PORT=5556
WLS_INSTALL_DIR=/opt/oracle/fmw11_1_1_5/wlserver_10.3
COHERENCE_HOME=/opt/oracle/fmw11_1_1_5/coherence_3.6
LOCALE=ccjk
WLS_JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
WL_HOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
java.vm.version=20.6-b01
MW_HOME=/opt/oracle/fmw11_1_1_5
WLS_JAVA_VENDOR=Sun
weblogic.server.modules.featurejar=/opt/oracle/fmw11_1_1_5/modules/features/weblogic.server.modules_10.3.5.0.jar
javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
PLATFORMHOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
WLS_PRODUCT_VERSION=10.3.5.0
java.vm.vendor=Sun Microsystems Inc.
BEAHOME=/opt/oracle/fmw11_1_1_5
DOCSWEBROOT=http\://download.oracle.com/docs/cd/E17904_01/web.1111
CONFIGWIZ_HOME=/opt/oracle/fmw11_1_1_5/wlserver_10.3
JAVAHOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.31.x86_64
ALSB_INSTALL_DIR=/opt/oracle/fmw11_1_1_5/osb
Labels:
WLST
Monday, July 23, 2012
DBMS_SCHEDULER quick tutorial
http://www.oracle-base.com/articles/10g/scheduler-10g.php
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htm#ARPLS138
Putting into action: let's create a job running every minute to delete all records from the table PIPPO:
CREATE TABLE "PIPPO" ("NAME" VARCHAR2(20 BYTE)) ;
insert into PIPPO values ('A');
insert into PIPPO values ('B');
commit();
then we create a stored procedure to delete records:
create or replace
PROCEDURE MY_JOB_PROCEDURE AS
BEGIN
delete from PIPPO;
END MY_JOB_PROCEDURE;
then I create the job:
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'test_full_job_definition',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN my_job_procedure; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'freq=MINUTELY; byminute=0; bysecond=0;',
end_date => NULL,
enabled => TRUE,
comments => 'Job defined entirely by the CREATE JOB procedure.');
END;
/
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htm#ARPLS138
Putting into action: let's create a job running every minute to delete all records from the table PIPPO:
CREATE TABLE "PIPPO" ("NAME" VARCHAR2(20 BYTE)) ;
insert into PIPPO values ('A');
insert into PIPPO values ('B');
commit();
then we create a stored procedure to delete records:
create or replace
PROCEDURE MY_JOB_PROCEDURE AS
BEGIN
delete from PIPPO;
END MY_JOB_PROCEDURE;
then I create the job:
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'test_full_job_definition',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN my_job_procedure; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'freq=MINUTELY; byminute=0; bysecond=0;',
end_date => NULL,
enabled => TRUE,
comments => 'Job defined entirely by the CREATE JOB procedure.');
END;
/
Labels:
scheduler
SOAPUI, setting dynamic properties with Groovy
I have a project POCO
and a Test Suite with a TestCase POCOTest
In the TestCase I create a Groovy Script step:
def project = context.testCase.testSuite.project
def tc = context.testCase
log.info project.name
log.info tc.name
see also:
http://www.soapui.org/Scripting-Properties/tips-a-tricks.html
Now, if I want to set a property, I have a choice of TestCase, TestSuite, Project or Global properties.
For instance, to set a new OrderID per each request:
import static java.util.UUID.randomUUID
def tc = context.testCase
uuid = randomUUID().toString()
testRunner.testCase.setPropertyValue( "OrderID", uuid )
log.info testRunner.testCase.getPropertyValue("OrderID")
After execution of this code (click the Run button in the Groovy Step editir), you have:
now you can add other steps AFTER the Groovy Step, and in the XML requests you can put
<ret:OrderUUID>${#TestCase#OrderID}</ret:OrderUUID>
All the Steps will share the same value of OrderID.
and a Test Suite with a TestCase POCOTest
In the TestCase I create a Groovy Script step:
def project = context.testCase.testSuite.project
def tc = context.testCase
log.info project.name
log.info tc.name
see also:
http://www.soapui.org/Scripting-Properties/tips-a-tricks.html
Now, if I want to set a property, I have a choice of TestCase, TestSuite, Project or Global properties.
For instance, to set a new OrderID per each request:
import static java.util.UUID.randomUUID
def tc = context.testCase
uuid = randomUUID().toString()
testRunner.testCase.setPropertyValue( "OrderID", uuid )
log.info testRunner.testCase.getPropertyValue("OrderID")
After execution of this code (click the Run button in the Groovy Step editir), you have:
now you can add other steps AFTER the Groovy Step, and in the XML requests you can put
<ret:OrderUUID>${#TestCase#OrderID}</ret:OrderUUID>
All the Steps will share the same value of OrderID.
Saturday, July 21, 2012
Tuesday, July 17, 2012
XQuery: Binary search on sorted collection
Big problem with XQuery is that - unlike SQL - it doesn't allow you to specify indexes on a collection of elements. All searches are "full table scan". What a pain. Performance becomes ridiculous when the elements of a collection are numerous.
An improvement can be obtained by sorting the collection with a "order by PK" (PK being the field on which you plan to perform your search), and using a recursive binary search on the collection:
this xquery will ALMOST work (I know it doesn't find elements at the end of the collection :o( ), the input being:
<prices>
<price>
<product_id>AAA</product_id>
</price>
<price>
<product_id>BBB</product_id>
</price>
</prices>
An improvement can be obtained by sorting the collection with a "order by PK" (PK being the field on which you plan to perform your search), and using a recursive binary search on the collection:
xquery version "1.0" encoding "Cp1252"; declare namespace xf = "http://tempuri.org/FindPrice/"; declare function xf:FindPriceBinarySearch($loopDepth as xs:integer, $intProdId as xs:string, $prices as element()*, $startIndex as xs:integer, $endIndex as xs:integer) as element() { let $middleIndex := xs:integer( xs:integer(($endIndex - $startIndex) div 2) + xs:integer($startIndex)) let $middleElement := $prices[$middleIndex] let $middleProductId := $middleElement/product_id/text() return if ($loopDepth < 15 and $middleProductId < $intProdId) then xf:FindPriceBinarySearch($loopDepth + 1, $intProdId, $prices, $middleIndex, $endIndex) else if ($loopDepth < 15 and $middleProductId > $intProdId) then xf:FindPriceBinarySearch($loopDepth+ 1, $intProdId, $prices, $startIndex, $middleIndex) else $middleElement }; declare function xf:FindPrice($intProdId as xs:string, $prices as element()) as element() { xf:FindPriceBinarySearch(0, $intProdId, $prices//price, 1, count($prices//price)) }; declare variable $product_id as xs:string external; declare variable $prices as element() external; xf:FindPrice($product_id, $prices)
this xquery will ALMOST work (I know it doesn't find elements at the end of the collection :o( ), the input being:
<prices>
<price>
<product_id>AAA</product_id>
</price>
<price>
<product_id>BBB</product_id>
</price>
</prices>
Labels:
XQuery
Monday, July 16, 2012
How to tie a tie
never tie a tie with the simple "four-in-hand knot", it's too sloppy... the Windsor node is much cooler.
Labels:
tie
Genius Loci
This fantastic dog I met today high on the mountains. He is an old cow-dog, spent all his life on the pastures near to the sky.
He reminds me an old devil like the ones depicted in Dante's Divina Commedia, or one of those wild spirits in some Middle Age novel...
He reminds me an old devil like the ones depicted in Dante's Divina Commedia, or one of those wild spirits in some Middle Age novel...
Sunday, July 15, 2012
OSB: how to clean a variable from empty elements and attributes
often the result of a transformation is to create empty non-mandatory elements and variables.
if you are bothered by them, run this:
delete path //*[not(node()) and not(.//@*)] in variable myvar
if you are bothered by them, run this:
delete path //*[not(node()) and not(.//@*)] in variable myvar
Labels:
OSB
The jar that is being imported is an unsupported version of the product. The version was 11.1.1.6
oh oh, a project developed in OSB 11.1.1.6 cannot be imported in OSB 11.1.1.5....
Invalid configuration file java.lang.IllegalArgumentException: The jar that is being imported is an unsupported version of the product. The version was 11.1.1.6. Supported versions are: 10.3.0.0.dev2, 2.6.0, 3.0.dev2, 2.6.1, 3.0.dev1, 3.0.0, 3.0, 2.6.dev5, 10.3.0.0, 2.6, 2.6.dev4, 2.6.dev3, 2.6.dev2, 2.6.dev1, 11.1.1.2, 11.1.1.3, 11.1.1.4, 11.1.1.5, 10.3.2.0.dev.1, 10.3.2.0.dev.2, 10.3.1.0, 10.3.2.0.dev.3, 3.2.dev1, 3.2.dev2, 11.1.1.2.dev.1, 11.1.1.2.dev.2,
Invalid configuration file java.lang.IllegalArgumentException: The jar that is being imported is an unsupported version of the product. The version was 11.1.1.6. Supported versions are: 10.3.0.0.dev2, 2.6.0, 3.0.dev2, 2.6.1, 3.0.dev1, 3.0.0, 3.0, 2.6.dev5, 10.3.0.0, 2.6, 2.6.dev4, 2.6.dev3, 2.6.dev2, 2.6.dev1, 11.1.1.2, 11.1.1.3, 11.1.1.4, 11.1.1.5, 10.3.2.0.dev.1, 10.3.2.0.dev.2, 10.3.1.0, 10.3.2.0.dev.3, 3.2.dev1, 3.2.dev2, 11.1.1.2.dev.1, 11.1.1.2.dev.2,
Saturday, July 14, 2012
XmlObject Arrays in OSB Custom XPaths
I have lost 20 minutes to find out that, if you return a XmlObject[] in your Java function, in the customxpath.xml descriptor you should put
[Lorg.apache.xmlbeans.XmlObject;
and not
Lorg.apache.xmlbeans.XmlObject;
as the official doc might seem to suggest
[Lorg.apache.xmlbeans.XmlObject;
and not
Lorg.apache.xmlbeans.XmlObject;
as the official doc might seem to suggest
Labels:
customXpath
osb sample xquery
Since I always need an XQuery skeleton and I am too lazy to run Eclipse, here is one:
xquery version "1.0" encoding "Cp1252"; (:: pragma parameter="$anyType1" type="xs:anyType" ::) (:: pragma type="xs:anyType" ::) declare namespace xf = "http://tempuri.org/OSB%20Project%201/Sample/"; declare function xf:Sample($anyType1 as element(*)) as element(*) {{count($anyType1)} }; declare variable $anyType1 as element(*) external; xf:Sample($anyType1)
Labels:
XQuery
ConcurrentHashMap and MultiValueMap - a Map with multiple values per key
a ConcurrentHashMap can only associate 1 value to 1 key:
map.put("a", "bla");
map.put("a", "blu");
map.get("a") will return only "blu".
If I want map.get("a") to return ("bla", "blu") I must use a MultiValueMap to decorate a ConcurrentHashMap
or you can use a Google Collections (Guava) Multimap such as a ArrayListMultimap
Otherwise, if like me you like brewing your own framework, you can decorate yourself a ConcurrentHashmap:
map.put("a", "bla");
map.put("a", "blu");
map.get("a") will return only "blu".
If I want map.get("a") to return ("bla", "blu") I must use a MultiValueMap to decorate a ConcurrentHashMap
or you can use a Google Collections (Guava) Multimap such as a ArrayListMultimap
Otherwise, if like me you like brewing your own framework, you can decorate yourself a ConcurrentHashmap:
import java.util.ArrayList; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import org.apache.xmlbeans.XmlObject; public class ArrayListMultimap { private ConcurrentHashMap<String, List> theMap = new ConcurrentHashMap<String, List<XmlObject>>(); public static ArrayListMultimap create(int i, int j) { return new ArrayListMultimap(); } public List<XmlObject> put(String key, XmlObject value) { List<XmlObject> previousvalue = (List<XmlObject>)theMap.get(key); if (previousvalue == null) { previousvalue = new ArrayList<XmlObject>(); previousvalue.add(value); theMap.put(key, previousvalue); } return previousvalue; } public int size() { return theMap.size(); } }
Labels:
collections
Friday, July 13, 2012
java-content in OSB XQuery
http://docs.oracle.com/cd/E23943_01/admin.1111/e15867/context.htm#i1106669
The content's metadata (that is, its key) can be handled as any other XML, for example in an XQuery such as $pojo/java-content/@ref. This may be useful for logging or debugging, but the content of the object cannot be directly accessed.
The reference to the Java object cannot be passed to an XQuery, who can in turn pass it to a Custom XPath for further manipulation in Java????
A practical case; I have a Java Callout creating a Java object for me:
public static ConcurrentHashMap createPriceMap() {
ConcurrentHashMap result = new ConcurrentHashMap();
return result ;
}
I assign it to a $mymap variable; if I log $mymap I get:
<con:java-content ref="jcid:72c9f10e:1387982c6c6:-7fb8" xmlns:con="http://www.bea.com/wli/sb/context"/>
Yet I can pass this $mymap as input parameter to other Java Callouts, no tricks, no problem.
Yet it seems that in XQuery there is not a specific syntax to pass $mymap...not a way to get a reference to the pipeline context to retrieve the Java object based on its ref. how sad.
A workaround could be to store the Java Object in a global hashmap, accessible through a Java static method, using the java-content ref as a key, and remember to remove it otherwise it will leak memory...
The content's metadata (that is, its key) can be handled as any other XML, for example in an XQuery such as $pojo/java-content/@ref. This may be useful for logging or debugging, but the content of the object cannot be directly accessed.
The reference to the Java object cannot be passed to an XQuery, who can in turn pass it to a Custom XPath for further manipulation in Java????
A practical case; I have a Java Callout creating a Java object for me:
public static ConcurrentHashMap
ConcurrentHashMap
return result ;
}
I assign it to a $mymap variable; if I log $mymap I get:
<con:java-content ref="jcid:72c9f10e:1387982c6c6:-7fb8" xmlns:con="http://www.bea.com/wli/sb/context"/>
Yet I can pass this $mymap as input parameter to other Java Callouts, no tricks, no problem.
Yet it seems that in XQuery there is not a specific syntax to pass $mymap...not a way to get a reference to the pipeline context to retrieve the Java object based on its ref. how sad.
A workaround could be to store the Java Object in a global hashmap, accessible through a Java static method, using the java-content ref as a key, and remember to remove it otherwise it will leak memory...
Labels:
customXpath,
OSB
Thursday, July 12, 2012
WebLogic doesn't utilize all available CPUs
I run 15 client threads, but only 2 CPU are 100% used, the others 22 are completely idle.
I run this code to check if anything is wrong:
8 CPUs are completely hogged! Cool!
So, why WebLogic is using only 2??? Investigating....
I run this code to check if anything is wrong:
public class MultiThreadCPUEater implements Runnable { public static void main(String[] args) { for (int i = 0; i < 8; i++) { MultiThreadCPUEater multiThreadCPUEater = new MultiThreadCPUEater(); Thread thread = new Thread(multiThreadCPUEater); thread.start(); } } @Override public void run() { for (;;) { } } }I run top, press 1 and...
Cpu0 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu8 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu9 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu10 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu11 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu12 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu13 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu14 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu15 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu16 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu17 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu18 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu19 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu20 :100.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu21 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu22 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu23 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
8 CPUs are completely hogged! Cool!
So, why WebLogic is using only 2??? Investigating....
visual vm unable to connect to jvm
http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/index.html
I can see the java processes running, but I can't connect to them by runnning jvisualvm on the same box as the java process.
So I try:
./jinfo 10248
Attaching to process ID 10248, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process
All of a sudden I realize that I was logged in with a different Unix login as the Java process.... logging in with the same Unix user and then running jvisualvm fixed the problem.
I can see the java processes running, but I can't connect to them by runnning jvisualvm on the same box as the java process.
So I try:
./jinfo 10248
Attaching to process ID 10248, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process
All of a sudden I realize that I was logged in with a different Unix login as the Java process.... logging in with the same Unix user and then running jvisualvm fixed the problem.
Putty blue is too dark to see
knock knock knocking on heaven's door...
we have 2 files: /etc/DIR_COLORS /etc/DIR_COLORS.xterm TERM envvar should be "linux" echo $TERM xterm mkdir ~/.dircolors cp /etc/DIR_COLORS $HOME/.dircolors this was quite useless, it simply put me in a b/w mode. https://www.linux.com/community/blogs/127-personal/26944
Category: Window > Colours and select ANSI Blue in the Select a colour to adjust to Red:74 Green:74 Blue:255. I do the same for ANSI Blue Bold to Red:140 Green:140 Blue:255
This sort of works.
we have 2 files: /etc/DIR_COLORS /etc/DIR_COLORS.xterm TERM envvar should be "linux" echo $TERM xterm mkdir ~/.dircolors cp /etc/DIR_COLORS $HOME/.dircolors this was quite useless, it simply put me in a b/w mode. https://www.linux.com/community/blogs/127-personal/26944
Category: Window > Colours and select ANSI Blue in the Select a colour to adjust to Red:74 Green:74 Blue:255. I do the same for ANSI Blue Bold to Red:140 Green:140 Blue:255
This sort of works.
Labels:
putty
SOAPUI and Groovy
Here the official doc, specifically the Property Expansion scripts.
your first script can be:
testRunner.runTestStepByName( "FindDescription" )
This PPT contains useful examples
your first script can be:
testRunner.runTestStepByName( "FindDescription" )
This PPT contains useful examples
OSB WebLogic Deployment Plan and deployment name
Excellent article here:
https://blogs.oracle.com/jamesbayer/entry/11gr1_update_and_a_deployment
I create a JMS Proxy Service (reading messages from a JMS queue), and this generates a C:\bea1035\user_projects\domains\dev_domain\sbgen_ALSB_1342038
918975.ear file.
I run the plan generator on it:
C:\bea1035\user_projects\domains\dev_domain\sbgen>..\bin\setDomainEnv.cmd
C:\bea1035\user_projects\domains\dev_domain>cd sbgen
C:\bea1035\user_projects\domains\dev_domain\sbgen>java weblogic.PlanGenerator -all -plan Plan_ALSB_1342038918975.xml _ALSB_1342038
918975.ear
Generating plan for application _ALSB_1342038918975.ear
Export option is: all
<11-Jul-2012 22:37:30 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element application in
the deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear/META-INF/application.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
<11-Jul-2012 22:37:33 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element ejb-jar in the
deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear\ejb.jar/META-INF/ejb-jar.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
Exporting properties...
Saving plan to C:\bea1035\user_projects\domains\dev_domain\sbgen\Plan_ALSB_1342038918975.xml...
<11-Jul-2012 22:37:34 o'clock CEST> <Info> <J2EE Deployment SPI> <BEA-260072> <Saved configuration for application, _ALSB_13420389
18975.ear>
This is what gets generated by the PlanGenerator:
https://blogs.oracle.com/jamesbayer/entry/11gr1_update_and_a_deployment
I create a JMS Proxy Service (reading messages from a JMS queue), and this generates a C:\bea1035\user_projects\domains\dev_domain\sbgen_ALSB_1342038
918975.ear file.
I run the plan generator on it:
C:\bea1035\user_projects\domains\dev_domain\sbgen>..\bin\setDomainEnv.cmd
C:\bea1035\user_projects\domains\dev_domain>cd sbgen
C:\bea1035\user_projects\domains\dev_domain\sbgen>java weblogic.PlanGenerator -all -plan Plan_ALSB_1342038918975.xml _ALSB_1342038
918975.ear
Generating plan for application _ALSB_1342038918975.ear
Export option is: all
<11-Jul-2012 22:37:30 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element application in
the deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear/META-INF/application.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
<11-Jul-2012 22:37:33 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element ejb-jar in the
deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear\ejb.jar/META-INF/ejb-jar.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
Exporting properties...
Saving plan to C:\bea1035\user_projects\domains\dev_domain\sbgen\Plan_ALSB_1342038918975.xml...
<11-Jul-2012 22:37:34 o'clock CEST> <Info> <J2EE Deployment SPI> <BEA-260072> <Saved configuration for application, _ALSB_13420389
18975.ear>
This is what gets generated by the PlanGenerator:
_ALSB_1342038918975.ear ResourceDescription_jms/QueueName_ResourceLink_13420390539690 ResourceDescription_jms/QueueName_JNDIName_13420390539711 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RunAsPrincipalName_13420390539712 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_NetworkAccessPoint_13420390539723 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_DispatchPolicy_13420390539724 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_PassivateAsPrincipalName_13420390539725 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_JNDIName_13420390539736 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RemoveAsPrincipalName_13420390539737 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_LocalJNDIName_13420390539738 WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_CreateAsPrincipalName_13420390539739 Pool_MaxBeansInFreePool_134203905397410 Pool_IdleTimeoutSeconds_134203905397411 TransactionDescriptor_TransTimeoutSeconds_134203905397412 ResourceDescription_jms/ConnectionFactory_ResourceLink_134203905397413 ResourceDescription_jms/ConnectionFactory_JNDIName_134203905397514 MessageDrivenDescriptor_ConnectionFactoryResourceLink_134203905397515 MessageDrivenDescriptor_DurableSubscriptionDeletion_134203905397516 MessageDrivenDescriptor_DistributedDestinationConnection_134203905397517 MessageDrivenDescriptor_DestinationResourceLink_134203905397618 MessageDrivenDescriptor_DestinationJNDIName_134203905398119 MessageDrivenDescriptor_JmsPollingIntervalSeconds_134203905398120 MessageDrivenDescriptor_MaxSuspendSeconds_134203905398121 MessageDrivenDescriptor_ProviderUrl_134203905398222 MessageDrivenDescriptor_ResourceAdapterJNDIName_134203905398223 MessageDrivenDescriptor_Use81StylePolling_134203905398224 MessageDrivenDescriptor_JmsClientId_134203905398225 MessageDrivenDescriptor_GenerateUniqueJmsClientId_134203905398226 MessageDrivenDescriptor_InitSuspendSeconds_134203905398327 MessageDrivenDescriptor_InitialContextFactory_134203905398328 MessageDrivenDescriptor_MaxMessagesInTransaction_134203905398329 MessageDrivenDescriptor_ConnectionFactoryJNDIName_134203905398330 WeblogicEjbJar_WorkManagers_134203905398431 SessionDescriptor_DebugEnabled_134203905400332 SessionDescriptor_CookieMaxAgeSecs_134203905400333 SessionDescriptor_InvalidationIntervalSecs_134203905400334 SessionDescriptor_TimeoutSecs_134203905400435 SessionDescriptor_MonitoringAttributeName_134203905400436 SessionDescriptor_MaxInMemorySessions_134203905400437 WeblogicApplication_FairShareRequests_134203905400438 WeblogicApplication_ResponseTimeRequests_134203905400439