Monitoring health of a Java Component/Class
Hi All,
Is there a standard design practice/mechanism for helath monitoring of a Java component/Class ? Any pointer, any related information will be really appreciated.
Regards,
Sourav
Hi,
As far as I know there are some special softwares (Profiler, Verifier) which could measure your application's total performance. That too depends on your type of application web based, or stand-alone, or something else.
You cann't simply measure the performance of you single class file, against some criteria say Response Time, Throughput, etc because they are functional ones which differ from one sort of application to another.
Hope this might have cleared your doubt.
Regards / Rajan Kumar
Similar Messages
-
Java.lang.class not found
Hi,
I configured scenario FILE TO JDBC, the sender channel is successful but in the receiving I am getting the error that java.lang.class not found.
In the receiver communication channel, I gave "com.microsoft.jdbc.sqlserverdriver".
what database connection parameters need to be given??
Thanks,
Satish.Whats your database ?
As Suresh said, did you deploy your JDBC driver ?
How to ?
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how to install and configure external drivers for jdbc and jms adapters.pdf
After configuring your communication channel, did you check the Adapter Monitor
XI SP > 09
http://<host>:5<sysnum>00/rwb -> Component Monitoring -> All Display -> Adapter Engine -> Adapter Monitor
XI SP <= 09
http://<host>:5<sysnum>00/AdapterFramework
Oracle Driver & Connection:
JDBC Driver: oracle.jdbc.driver.OracleDriver
Connection: jdbc:oracle:thin:@<hostname>:<port_umber>:<database_name>
SQL Server Driver & Connection:
JDBC Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection = jdbc:microsoft:sqlserver://hostname:1433;DatabaseName=<DBName>
regards
Shravan -
Calling WD Java component in WD ABAP
Hi Experts,
I've a requirement to call WD Java application in my custom WD Abap component.
In Ehp4 time management module, the time recording application is designed in WD java component while Ehp5 the same appln is designed in WD ABAP.
Now I need to call either of this application based on country grouping. For eg: If an employee belongs to US then i need to call WD ABAP component, while if an employee belongs to Canada then it should open WD Java component.
Could you pls clarify whether we can call a WD Java application using any Class / Functional module. If yes, pls let me know
Appreciate your help
KamalHi Kamal,
You can use Country Specific services. Toa chieve this.
Refer to
http://213.41.80.15/SAP_ELearning/OKEC/nav/content/011000358700000597012006e.pdf
Thanks
Prashant -
Error "expected a myfaces custom component class in package"
Can anybody help me on this?
just copied the sandbox code on selectmanypicklist and tried in a separate package of mine.
created a jsp page and used the selectmanypicklist component and im getting the component on my browser.
But whn i added the javascript resource calling by "encodeJavascript(facesContext, uiComponent);" im geting an error saying tht "expected a myfaces custom component class in package org.apache.myfaces.custom". i placed the java script file in "mypackage/list/resource/pikscript.js".
should i add anything on faces-config.xml file or anywhr else?
Anybody can help on this?
Thanx in Advance.The problem is that it calls a method validateCustomComponent in MyFacesResourceHandler to see if it can load the js file. This method controlls if the path of the js file begins with org.apache.myfaces.custom. If not throws an exception and doesn't load the file. I changed the package of the class that's trying to load the file in org.apache.myfaces.custom.xx and the package of the file js in org.apache.myfaces.custom.xx.resource. Now it's working.
-
Java component - ora-01013 error when calling ws.createResultSetSQL
Running Content Server 11.1.1.5 on WLS 10.3.5 in 64bit Linux environment. Same component/code runs great in dev environment, but consistently get this error in production. In production, query runs against view in same schema as system database. I can run the same query in either SQL Developer or SQLPlus and the results return nearly immediate - about 1 second.
The query in the Java component times-out nearly every single time, even when very little load on the system (late at night).
getMessage() returns "!csDbUnableToCreateResultSet
I have already set the default query timeout in config.cfg to 120 seconds.
Any suggestions? Really perplexed on this one!
Thank you, Ken
Here is an example of the Java code used in the call.
{code}package com.example;
import intradoc.common.ExecutionContext;
import intradoc.common.ServiceException;
import intradoc.common.SystemUtils;
import intradoc.data.DataBinder;
import intradoc.data.DataException;
import intradoc.data.DataResultSet;
import intradoc.data.ResultSet;
import intradoc.data.Workspace;
import intradoc.provider.Provider;
import intradoc.provider.Providers;
import intradoc.shared.FilterImplementor;
import intradoc.util.IdcMessage;
public class Test implements FilterImplementor {
public int doFilter(Workspace ws, DataBinder binder, ExecutionContext cxt) throws DataException, ServiceException {
String value = "-1";
String xEMP_NUM ="";
String SQL = "";
String ResultSetName = "XEMPNUMCOUNT";
int rowcount = 0;
DataResultSet result = null;
DataException error = null;
ResultSet temp = null;
Workspace wsTemp = null;
SystemUtils.trace("filterdebug", "Starting doFilter for Test");
xEMP_NUM = binder.getLocal("xEMP_NUM");
xEMP_NUM = (xEMP_NUM == null) ? null : xEMP_NUM.trim();
SystemUtils.trace("filterdebug", "xEMP_NUM=" + xEMP_NUM);
if (xEMP_NUM != null && !xEMP_NUM.equalsIgnoreCase("0") && xEMP_NUM.length() > 0) {
SQL = "select emp_num, emp_lname, emp_mname, emp_fname from emps where emp_num = " + xEMP_NUM.trim();
SystemUtils.trace("filterdebug", "SQL=" + SQL);
if (ws == null) {
SystemUtils.trace("filterdebug", "ws is null, getting ws from call to getSystemWorkspace()");
ws = getSystemWorkspace();
SystemUtils.trace("filterdebug", "try-catch block to get ResultSet from SQL");
try {
SystemUtils.trace("filterdebug", "start: temp = ws.createResultSetSQL(SQL)");
temp = ws.createResultSetSQL(SQL);
SystemUtils.trace("filterdebug", "end: temp = ws.createResultSetSQL(SQL)");
result = new DataResultSet();
result.copy(temp);
rowcount = result.getNumRows();
SystemUtils.trace("filterdebug","rowCount=" + rowcount);
} catch (DataException de) {
error = de;
SystemUtils.trace("filterdebug", "de.getMessage()=" + de.getMessage());
} finally {
// ws.releaseConnection();
if (rowcount > 0){
try {
int fieldCnt = result.getNumFields();
SystemUtils.trace("filterdebug", "fieldCnt=" + fieldCnt);
result.first();
xEMP_NUM = result.getStringValue(0);
binder.putLocal("xEMP_NUM",xEMP_NUM);
String xEMP_LNAME = result.getStringValue(1);
binder.putLocal("xEMP_LNAME",xEMP_LNAME);
String xEMP_MNAME = result.getStringValue(2);
binder.putLocal("xEMP_MNAME",xEMP_MNAME);
String xEMP_FNAME = result.getStringValue(3);
binder.putLocal("xEMP_FNAME",xEMP_FNAME);
} catch (NumberFormatException nfe) {
SystemUtils.trace("filterdebug", "nfe.getMessage()=" + nfe.getMessage());
} else {
SystemUtils.trace("filterdebug", "Throw error since xEMP_NUM is not in the ems table");
throw new ServiceException("Invalid Employee Number provided!");
if (error != null) {
SystemUtils.trace("filterdebug", "Throw error since error condition exists.");
throw error;
SystemUtils.trace("filterdebug", "Ending doFilter for Temp");
return CONTINUE;
public Workspace getSystemWorkspace() {
Workspace workspace = null;
Provider wsProvider = Providers.getProvider("SystemDatabase");
if (wsProvider != null) {
workspace = (Workspace)wsProvider.getProvider();
return workspace;
{code}From Console Output in the server
>filterdebug/6 01.24 21:42:46.004 IdcServer-6201 Starting doFilter for DCSDEmployeeCheckinValidation
filterdebug/6 01.24 21:42:46.005 IdcServer-6201 xEMP_NUM=2003076
filterdebug/6 01.24 21:42:46.005 IdcServer-6201 SQL=select emp_num, emp_lname, emp_mname, emp_fname, emp_natl_id, emp_stat_cd from dcsdemployees where emp_num = 2003076
filterdebug/6 01.24 21:42:46.005 IdcServer-6201 try-catch block to get ResultSet from SQL
filterdebug/6 01.24 21:42:46.006 IdcServer-6201 start: temp = ws.createResultSetSQL(SQL)
filterdebug/6 01.24 21:44:46.232 IdcServer-6201 de.getMessage()=!csDbUnableToCreateResultSet,select emp_num\, emp_lname\, emp_mname\, emp_fname\, emp_natl_id\, emp_stat_cd from dcsdemployees where emp_num = 2003076!$ORA-01013: user requested cancel of current operation
filterdebug/6 01.24 21:44:46.232 IdcServer-6201 Throw error since xEMP_NUM is not in the dcsdstudents table
services/3 01.24 21:44:46.239 IdcServer-6201 !csUserEventMessage,weblogic,ucmprod.dcsdk12.org!$ intradoc.common.ServiceException: Invalid Employee Number provided! services/3 01.24 21:44:46.239 IdcServer-6201 *ScriptStack CHECKIN_NEW_SUB
services/3 01.24 21:44:46.239 IdcServer-6201 3:doScriptableAction,dDocName=3:doSubService,dDocName=CHECKIN_NEW_SUB,dDocName=3:validateStandard,dDocName=DCS866569
services/3 01.24 21:44:46.239 IdcServer-6201 at org.dcsdk12.ucm.DCSDEmployeeCheckinValidation.doFilter(DCSDEmployeeCheckinValidation.java:112)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.shared.PluginFilters.filterWithAction(PluginFilters.java:114)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.shared.PluginFilters.filter(PluginFilters.java:68)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.DocServiceHandler.validateStandard(DocServiceHandler.java:1167)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
services/3 01.24 21:44:46.239 IdcServer-6201 at java.lang.reflect.Method.invoke(Method.java:597)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.ClassHelperUtils.executeMethodReportStatus(ClassHelperUtils.java:324)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceHandler.executeAction(ServiceHandler.java:79)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCodeEx(Service.java:533)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCode(Service.java:505)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doAction(ServiceRequestImplementor.java:1643)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doAction(Service.java:477)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doActions(ServiceRequestImplementor.java:1458)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doActions(Service.java:472)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.executeSubServiceCode(ServiceRequestImplementor.java:1322)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.executeSubServiceCode(Service.java:3866)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.executeServiceEx(ServiceRequestImplementor.java:1200)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.executeServiceEx(Service.java:3861)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.executeService(Service.java:3845)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doSubService(Service.java:3760)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.GeneratedMethodAccessor411.invoke(Unknown Source)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
services/3 01.24 21:44:46.239 IdcServer-6201 at java.lang.reflect.Method.invoke(Method.java:597)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.ClassHelperUtils.executeMethodEx(ClassHelperUtils.java:310)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.ClassHelperUtils.executeMethod(ClassHelperUtils.java:295)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCodeEx(Service.java:550)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCode(Service.java:505)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doAction(ServiceRequestImplementor.java:1643)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doAction(Service.java:477)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doScriptableAction(Service.java:3807)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
services/3 01.24 21:44:46.239 IdcServer-6201 at java.lang.reflect.Method.invoke(Method.java:597)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.ClassHelperUtils.executeMethodEx(ClassHelperUtils.java:310)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.common.ClassHelperUtils.executeMethod(ClassHelperUtils.java:295)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCodeEx(Service.java:550)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doCode(Service.java:505)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doAction(ServiceRequestImplementor.java:1643)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doAction(Service.java:477)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doActions(ServiceRequestImplementor.java:1458)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doActions(Service.java:472)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.executeActions(ServiceRequestImplementor.java:1391)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.executeActions(Service.java:458)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceRequestImplementor.doRequest(ServiceRequestImplementor.java:737)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.Service.doRequest(Service.java:1890)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.ServiceManager.processCommand(ServiceManager.java:435)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.server.IdcServerThread.processRequest(IdcServerThread.java:265)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.idcwls.IdcServletRequestUtils.doRequest(IdcServletRequestUtils.java:1343)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.idcwls.IdcServletRequestUtils.processFilterEvent(IdcServletRequestUtils.java:1715)
services/3 01.24 21:44:46.239 IdcServer-6201 at intradoc.idcwls.IdcIntegrateWrapper.processFilterEvent(IdcIntegrateWrapper.java:222)
services/3 01.24 21:44:46.239 IdcServer-6201 at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source)
services/3 01.24 21:44:46.239 IdcServer-6201 ... 35 more
(internal)/6 01.24 21:44:46.286 IdcServer-6201 File to be removed: /cms/ecm/vault/~temp/1897335874.txt -
Why addcomponent and removecomponent method are not in component class,
Hi,
why addcomponent and removecomponent method are not in component oand component class,
Thank youjava.awt.Container has the appropriate add and remove methods:
http://java.sun.com/javase/6/docs/api/java/awt/Container.html
If that seems odd to you, you need to think about the Composite Pattern:
http://en.wikipedia.org/wiki/Composite_pattern
[url #" style="display: block; background-image: url('http://upload.wikimedia.org/wikipedia/en/1/13/Compositepattern.png'); width: 406px; height: 271px] -
Replacing the java.* Classes
I want to change the code to say, java.lang.Class for debugging/monitoring. I know the java.exe has a -Xbootclasspath/p:path option for us to prepend the new core api classes to the classpath and the source code for the core api classes are available in the jdk. But the problem is it seems that the javac.exe does not accept a class named java.*. I can use byte code instrumentation tools like Javassist/BCEL to inject code to existing system classes. But is it possible to modify the source code directly and recompile them without having to use byte code instrumenation?
alec_lee_yl wrote:
I want to change the code to say, java.lang.Class for debugging/monitoring. I know the java.exe has a -Xbootclasspath/p:path option for us to prepend the new core api classes to the classpath and the source code for the core api classes are available in the jdk. But the problem is it seems that the javac.exe does not accept a class named java.*. Huh? I just compiled java.lang.String using javac. -
Monitor IBM x server hardware component runing Linux
We’d like to monitor IBM x server hardware component, we knew there is a IBM MP.
However, the official document said:
“Extensive monitoring of the health of hardware components for IBM System x servers and BladeCenter x86/x64 bladesrunning Windows”
My customer is running Linux on x servers, so this MP does not support it?
Does anyone know how to monitor hardware components of x servers running Linux? (any other MP or workaround is appreciated, thanks)I've seen this lockup several times, when this happens, X aborts and tries to restart itself several times (actually gdm does it), and I won't get in X until I reboot the whole system.
I haven't seen this with the xorg-server from testing yet, but with 1.4.2 I could reproduce it now and then by playing a few games of aisleriot on my G33. -
Cannot load component class className from project: ProjectName
Hi guys,
I've a strange issue.
I found some solutions on google and on this forum, but they doesn't work for me.
I've a javafx application in netbeans in which I also use swing controls.
I created a custom jlabel control
public class Label extends JLabel {
public Label()
private void setAspect(String csFontName, int nSizeFont, boolean bold,Color cColor)
int style=bold ? Font.BOLD : Font.PLAIN;
this.setFont(new Font(csFontName,style,nSizeFont));
this.setForeground(cColor);
public Label(String csText)
super(csText);
setAspect("Tahoma",10,false,Color.black);
public Label(String csText, int nSize)
super(csText);
setAspect("Tahoma",nSize,false,Color.black);
public Label(String csText, int nSize, boolean bold)
super(csText);
setAspect("Tahoma",10,bold,Color.black);
public Label(String csText, int nSize, boolean bold, Color cColor)
super(csText);
setAspect("Tahoma",10,bold,Color.black);
}I selected Label.java file in the project and I click on Tools->add to palette and I selected Swing controls as family.
I restarted netbeans and I found it in the palette.
I try to drag it into my swing form and I've :
Cannot load component class <ProjectName>.Label from project: D:\Progetti\<ProjectName>.
The class must be compiled and must be on the classpath of the project to which this form belongs.Following forums I went on netbeans log
org.openide.ErrorManager$AnnException: msg
at org.openide.ErrorManager$AnnException.findOrCreate(ErrorManager.java:870)
at org.openide.ErrorManager$DelegatingErrorManager.annotate(ErrorManager.java:653)
Caused by: java.lang.ClassNotFoundException: <ProjectName>.Label
at org.netbeans.modules.form.project.ProjectClassLoader.findClass(ProjectClassLoader.java:178)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.netbeans.modules.form.project.FormClassLoader.findClass(FormClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.netbeans.modules.form.project.ClassPathUtils.loadClass(ClassPathUtils.java:98)
at org.netbeans.modules.form.MetaComponentCreator.prepareClass0(MetaComponentCreator.java:1322)
... 34 more
msg
Cannot load component class ortholab2.Label from project: D:\Progetti\<ProjectName>.
The class must be compiled and must be on the classpath of the project to which this form belongs.I hope someone can help me ,
ThanksThat sounds more like a NetBeans-specific question, not a general java programming question.
Plus, your desciption is inconsistent:
Cannot load component class <ProjectName>.Label from project: D:\Progetti\<ProjectName>.
Cannot load component class ortholab2.Label from project: D:\Progetti\<ProjectName>What is the fully-qualified name of this class: ortholab2.Label ? ortholab2 being both the package name and the project name?
And where do you use it, in the same project or in yet another NetBeans project? -
Shuttle.java util class
Can you please tell me where i can download the Shuttle.java util class to work with shuttle component in adf faces.
we haveAdfUtils and JsfUtils, like these classes i want to work with shuttle component by means of util class.
Thanks
satyaAdfUtils and JsfUtils classes have most of the required methods. I'm not sure about shuttle.java util class.
http://www.gebs.ro/blog/oracle/oracle-adf-select-many-shuttle/ -
Can anybody tell me why the Component class should be an abstract class? It seems to me that the class should be defined as a concrete class because non of its methods is abstract type. Thanks. altech
Most likely it was done so that developers seeking to create a new flavor of AWT Component would be required to extend the Component class, rather than creating generic Components left and right. A generic Component object isn't really useful at all anyway, due to its lack of interesting behavior.
The class is intended to act as an interface for users of Component subclasses (not interface as in a Java interface, but in the general OO sense of the word). It is a common root for all AWT "components," so that they may be acted upon in a similar fashion utilizing polymorphism.
There may be a more legitimate reason why it is abstract, but this is my guess. It makes sense to me. -
Web dynpro dc compoent controller method call from Java dc class file
Hi All,
Is it possible to call a wd java component controller method from a java dc class file?
I have declared wd java dc as used dc in java dc.Any poiters for the same would be really helpful.
Thanks in Advance.
regards
Radhika KuthialaHi,
short answer: No.
1. using WD references outside of WD DCs is unsupported and will at least show a warning when you try to deploy. Correct usage of runtime dependencies is not predictable.
2. WebDynpro Controllers have a lifecycle that is controlled by the Framework. Even if you manage to initialize a Controller via "new" and use a method, the Controller will never have all the state-information it contains when started regualary. (think of mapped context, context attributes in general, code called in wdInit ...) I would suppose it is possible to implement a runnable low-profile example that still works, but as soon as you try to use "higher" concepts of WD (which would be the only reason to use a WD Component Controller at all), you will definitely fail.
3. Think of it as calling EJBs Session Beans via "new", but more complex.
hope that helps
Jan -
Java Component using validateStandard and SystemDatabase fails to incr cntr
I based my filter on the Dynamic Prefix, and code I found in this forum. I have a vew in my System database that I want to validate a field against on checkin, instead of loading 50K values into a combobox. The problem is that when the routine runs and the emp_num is valid (routine succeeds), the counters table is not incremented and the next check-in fails? Any help appreciated. The code for the java component is below:
package mypackage.ucm;
import intradoc.common.ExecutionContext;
import intradoc.common.ServiceException;
import intradoc.common.SystemUtils;
import intradoc.data.DataBinder;
import intradoc.data.DataException;
import intradoc.data.DataResultSet;
import intradoc.data.ResultSet;
import intradoc.data.Workspace;
import intradoc.provider.Provider;
import intradoc.provider.Providers;
import intradoc.shared.FilterImplementor;
import intradoc.util.IdcMessage;
/* Setup in hda fild to use validateStandard
* validateStandard
* validateCheckinDate
* From Bex's book setReturnValue("true"); - Didn't help
public class EmployeeCheckinFilter implements FilterImplementor {
public int doFilter(Workspace ws, DataBinder binder, ExecutionContext cxt)
throws DataException, ServiceException {
String value = "-1";
String xEMP_NUM ="";
String SQL = "";
String ResultSetName = "XEMPNUMCOUNT";
int ivalue=0;
DataResultSet result = null;
DataException error = null;
ResultSet temp = null;
SystemUtils.trace("system", "Starting doFilter for EmployeeCheckinValidation");
// Display the binder
// System.out.println(binder);
xEMP_NUM = binder.getLocal("xEMP_NUM");
SystemUtils.trace("system", "xEMP_NUM=" + xEMP_NUM);
// Only run valiation is
if (xEMP_NUM != null && xEMP_NUM.length() > 0) {
SQL = "select count(*) counter from dcsdemployees where emp_num = "
+ xEMP_NUM.trim();
SystemUtils.trace("system", "SQL=" + SQL);
if (ws == null) {
SystemUtils.trace("system", "ws is null, getting ws from call to getSystemWorkspace()");
ws = getSystemWorkspace();
SystemUtils.trace("system", "try-catch block to get ResultSet from SQL");
try {
temp = ws.createResultSetSQL(SQL);
result = new DataResultSet();
result.copy(temp);
// Makes results avilable for other Java methods or IdocScript templates.
// binder.addResultSet(ResultSetName,result); // Don't want this available
} catch (DataException de) {
error = de;
} finally {
ws.releaseConnection();
try {
result.first();
value = result.getStringValue(0);
SystemUtils.trace("system", "value(getStringValue(0)) = " + value);
ivalue = Integer.parseInt(value);
SystemUtils.trace("system", "ivalue=" + ivalue);
} catch (NumberFormatException nfe) {
SystemUtils.trace("system", "nfe.getMessage()=" + nfe.getMessage());
// Can't find a match, throw an exception
if (ivalue == 0) {
SystemUtils.trace("system", "Throw error since xEMP_NUM is not in the dcsdemployees table");
throw new ServiceException("xEMP_NUM was not found in the database!");
if (error != null) {
SystemUtils.trace("system", "Throw error since error condition exists.");
throw error;
SystemUtils.trace("system", "Ending doFilter for EmployeeCheckinValidation");
cxt.setReturnValue("true");
return CONTINUE;
public Workspace getSystemWorkspace() {
Workspace workspace = null;
Provider wsProvider = Providers.getProvider("SystemDatabase");
if (wsProvider != null) {
workspace = (Workspace)wsProvider.getProvider();
return workspace;
}Hey klee,
My guess at the cause of the issue is:
finally {
ws.releaseConnection();
You don't need to release the connection in a validate Standard filter since the checkin service will release the connection when it completes. Since the connection is being manually released the code that executes after the validateStandard does not have a connection to the DB and can't increment the counter. In fact I'm surprised you aren't getting an exception.
Hope that helps,
Andy Weaver - Senior Software Consultant
Fishbowl Solutions < http://www.fishbowlsolutions.com?WT.mc_id=L_Oracle_Consulting_amw > -
Interface repository as java component not process
Hello all
im using Jacorb as my corba client , now im compiling the idls and using the stubs class and reflection
to dynamically invoke the method . i like to start using interface repository to avoid compiling the idl every time something changed
but i also can't run another process , does there any java component that i can use from java in side my application that will act as
Interface repository ?Hello Zachary,
As you suggested, I have done a netstat -an |grep 3905
tcp4 0 0 *.3905 . LISTEN
tcp 0 0 10.104.32.43.63905 . LISTEN
tcp4 0 0 10.104.32.43.63905 10.104.32.42.60353 CLOSE_WAIT
f10007000ac17408 stream 0 0 f100068034ba4420 0 0 0 /tmp/.sapstream3905
Do you have an idea what is the last line, can I delete it and how?
Regards,
Thibaud. -
XSLT mapping with Java helper classes
Hi,
I'm trying to implement a XSLT mapping to convert my request to a specific soap request message format for this I'm calling some methods from a java helper class. I have imported the jar file into the archives. When I tried to test the interface it keeps complaing there is some exception but doesn't give me the exact error. Has any one called any java helper classes with in XSLT mapping, if so I would appreciate if you could help me with this. Here is the code from xsl.
<wsse:Security soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext" xmlns:UserToken="java:com.company.test.mapping.UserTokenMap">
<wsse:UsernameToken>
<wsse:Username xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getUsername()"/>
</wsse:Username>
<wsse:Password wsse:Type="wsse:PasswordDigest" xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getPasswordDigest()"/>
</wsse:Password>
<wsse:Nonce xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getNonce()"/>
</wsse:Nonce>
<wsu:Created xsi:type="soapenc:string" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getCreateDate()"/>
</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
Thanks,
JoeHi,
I'm getting following exception when I refer to the java class with in my XSLT mapping. Any one encountered the same problem.
com.sap.engine.services.ejb.exceptions.BaseRemoteException:
Exception in method transform.
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:218)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:104)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native
Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.UnsupportedClassVersionError:
com/earthlink/xi/mapping/UserTokenMap (Unsupported
major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native
Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingLoader.findClass(RepMappingLoader.java:175)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at com.sap.engine.lib.xsl.xpath.JLBLibrary.<init>(JLBLibrary.java:33)
at com.sap.engine.lib.xsl.xpath.LibraryManager.getFunction(LibraryManager.java:69)
at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:98)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51)
at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394)
at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398)
at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150)
at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81)
at com.sap.aii.ibrep.server.mapping.ibrun.RepSequenceMapping.execute(RepSequenceMapping.java:54)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80)
at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:167)
... 10 more
; nested exception is:
java.lang.UnsupportedClassVersionError:
com/earthlink/xi/mapping/UserTokenMap (Unsupported
major.minor version 49.0)
Maybe you are looking for
-
Hi All I have developed Java mapping program where I am calling three BAPI in sequence and trying to map all three bapi data to single Target XML file or Multiple target xml files depends on the in coming data. Now I want these files name should be g
-
Reverse asset retirement from last year
Hi, One asset was retired in Dec 2009. Now we want to take the asset back in our books and then sell it to another customer. Problem is: i am not able to reverse the retirement from 2009. Also tried using post capitalization ABNAN, but system gives e
-
How much additional traffic does agentless monitoring add to your network
I know this is not a fully evolved question because you could respond, what MP's (Maintenance Packs) do I have installed, and what all am I monitoring, however I am somewhat new to SCOM 2012, I've set it up and have it going, getting great alerting,
-
Videos not synched with iPad4, but iPhone5
I imported some videos to my iTunes Database. These videos were synched to my iPhone5 in 1080i and less and well displayed on iPhone5 and iTunes. But these videos will not be synched with iPad4. I tryed to enable, disable the synch Settings, making s
-
No Icons in Start menu after the Installation of 9i
Hello, unfortunately the installation program of developer suite 9i did not create any icons in my start menu. is there any way of installing them manualy using the installer ? or can somebody just send me them (the complete icon set including discov