Superclass reference calls subclass's method..
I have a doubt regarding the following..
class A //super class
public void ShowMessage()
System.out.println("Inside A's showmessage");
class B extends A //subclass
public void ShowMessage()
System.out.println("Inside B's showmessage");
public void ShowAnotherMessage()
System.out.println("Inside B's showanothermessage");
class MainClass
public static void main(String args[])
A a; //plain reference
B b=new B();
a=b;
a.ShowAnotherMessage(); //error, since it is not part of
A
a.ShowMessage(); //Actually calls B's version
1. How do i make it call a's ShowMessage(). Is it possible with some typecast. What are the ways to call A's ShowMessage().
2. The above is not a problem in C++, can use virtual functions to do it.
[b]
thanks...
The behaviour you observe is correct. When a method is invoked the actual class of the object is used, when a variable is referenced the type of the reference determines the class. See section 3.3.3 of "The Java Programming Language" for more details. In C++ you must declare the method virtual to get this behaviour, in Java all methods are virtual.
Similar Messages
-
Superclass Constructor calling overridable validation method
I have the following class:
public class SuperClass
private int x;
public SuperClass(int x)
setX(x);
protected void validateX(int x)
if(x < 0)
throw new IllegalArgumentException("x < 0");
public int getX()
return x;
public void setX(int x)
validateX(x);
this.x = x;
}My question is: How can I avoid calling setX(int) in the constructor besides simply dupicating validateX(int) in the constructor if I want to subclass SuperClass? [I read in a recent Java Fundamentals newsletter that calling overridable methods in superclass constructors is a bad idea int that it tends to destabilize the whole class hierarchy. I don't want to make validateX(int) and setX(int) final.]Never call overrideable methods from constructors. No exceptions.
You can use a factory method to validate your object after its created if you must.
public class SuperClass
private int x;
public SuperClass()
static SuperClass createSuperClass(int x){
SuperClass sc = new SuperClass();
sc.setX(x);
return sc;
protected void validateX(int x)
if(x < 0)
throw new IllegalArgumentException("x < 0");
public int getX()
return x;
public void setX(int x)
validateX(x);
this.x = x;
}Or you can use template method
public class SuperClass
private int x;
public SuperClass(int x)
setXImpl(x);
final protected void validateX(int x)
if(x < 0)
throw new IllegalArgumentException("x < 0");
public int getX()
return x;
final void setXImpl(int x){
validateX(x);
this.x = x;
public void setX(int x)
setXImpl(x);
In general I don't like to call any overrideable methods from within my class. I try not to be anal about it though. My personal choice would be to duplicate the set method in the constructor. You should be constructing the object not using it. access instance variables not methods. -
Superclass variable not calling subclass method
hi,
i've got a bit of a problem with my method invocation. i'll try to explain in abstract terms:
class SuperClass {
void method(int x){
//some action
class SubClass extends SuperClass {
static final int VARIABLE = 1;
void method(int x){
x = modify(x);
super.method(x)
int modify(int x){
return x += VARIABLE;
my problem is that i've got about 20 or so subclasses that i refer to through a superclass reference. as i understand it, i should be about to call:
int result = superClassRef.method(5);
and this will call the subclass method, perform the modification and return the result. my problem is twofold.
1) the superclass reference dosen't call the subclass's method
2) what happens when it gets to the subclass's modify method and trys to access the subclass's VARIABLE through a superclass reference? as i understand it shouldn't be accessible from the superclass reference.
hmmm...any help would be most appreciated.
cameronthat was what i ment -
SuperClass superClassRef = new SubClass();
superClassRef.method(5); //dosen't return anything
i think this may be turning into a more wide ranging application problem. i tried to bypass the natural superclass method invocation with the following code:
Method m = superClassRef.getClass().getMethod("method");
m.invoke(superClassRef, new Object[]{new Integer(x)});
but on trying this it throws an InvocationTargetException.
for clarity - the two methods in the subclass are:
void method(int x) (overrides the superclass's method(int x))
and
int modify(int x)
sorry for the bad naming.
i've figured out the variable thing - i'd only be if there were variable shaddowing in the subclass that problems could arrise. -
A superclass reference can call subclass method directly?
A Swing Container reference seems to be able to call the methods of subclass directly. For example, you can find following expression in a JApple or JFrame implementation:
Container c = getContentPane()
But if you look at the standard API site, you find that Container doesn't have getContentPane(), nor its superclass. Its subclass, JApplet or JFrame has the method! That means that a reference of superclass can use the method in subclass directly. It's hard to understand since superclass can't aware what in its subclasses. Inheritance got to be one direction-->from superclass to subclass.
Thanks for advise.Hey yylx,
I dont see in you example where a superclass is calling the a function of its subclass. An object can call any of its own function, any protected or public functions of its superclass, and can also invoke any public functions of objects it has references to.
So in JFrame, when it calls getContentpane() it is invoking one of its own functions which is fine. The function returns a reference to a Container, which JFrame can now invoke the public functions of... The public interface of an object, in this case a container, is available to any other object. So JFrame can call any functions on that particular Container.
Does that clarify? If not, explain further....
Josh -
Invoke a subclass method via Superclass reference variable.
Hello,
I need to invoke 'subclass' methods from a superclass reference variable as each subclass has a different
methods and behaviour.
My query is
In the Main, when I invoke product.getProductType(),I get a reference back to the Product.
I need a reference to the subclass object so that I can invoke methods of that subclass.
How can I get the required subclass type and invoke methods specific to the subclass?
Is my design incorrect?
abstract class Product {
public abstract Product getProductType();
class Bond extends Product{
@Override
public Bond getProductType(){
return this;
// Methods specific to Bond
public String getBondIssuer(){
public Long getBondFaceValue(){
class Option extends Product {
@Override
public Option getProductType(){
return this;
// Methods specific to Options
class Main {
public static void main(String args[]){
Product product = new Bond();
product.getProductType(); // Here I get get a reference back to Product.
// What I need is a reference to the subclass type (Bond) so that I can invoke Bond methods
}If your client already knows it has a Bond it should just use that as a reference. If you have general handling functions or classes, you can make them generic so that even if you give them a Product they can return the specific sub class.
Simplest example:
Bond james = doSomethingWithAProduct(new Bond());
public <T extends Product> T doSomethingWithAProduct(T product) {
return product;
} -
Calling a particular Method of all subclass from a super class
hi
I have a class 'A' which is a super class for 'B' ,'C' , 'D'
my main method is in the class Main and while on the run i am calling methods of B,C,D form this main class.
but as the first step of execution i need to call a init method which has been defined in all the sub-classes. and there can be any no of sub-classes and all will have the init method and i have to call the init method for all classes. is this possible to do that in runtime. ie i wil not be knowing the names of sub-classes.
thanks
zetaSorry if i had mislead you all.
I am not instantiating from my super class.
as mjparme i wanted one controller class to do the
init method calls
so i got it working from the link you gave.
URL url = Launcher.class.getResource(name);
File directory = new File(url.getFile());
This way i can get all the classes in that
in that package
and from reflection i can get whether it is
her it is a sub class of the particular super class
and i can call the init methods by making the init
methods static
thanks for the help
zetaThis is a rather fragile solution.
If the problem is one of knowing which subclasses exist, I would suggest specifying them explicitly via configuration (system property or properties file or whatever).
One thing that's not entirely clear to me: Is the init going to be called once for each subclass, or once for each instance of each subclass? It sounds to me like it's once per class, but I want to make sure. -
Calling A Super Method Externally
Hi,
I would like to call an overridden method, a super method, of an object externally. I thought all I needed to do was:
1. get the java.lang.Class object of the super class where the original method was declared and implemented.
2. get the appropriate java.lang.reflect.Method object from the Class object.
3. override the java language protections on the Method object.
4. Call Method.invoke() with the instance of the subclass which I wanted to call the method on.
Unfortunately, when I got to step 4, I saw this in the documentation for Method.invoke:
"If the underlying method is an instance method, it is invoked using dynamic method lookup as documented in The Java Language Specification, Second Edition, section 15.12.4.4; in particular, overriding based on the runtime type of the target object will occur."
Is there any way to externally access the functionality of a super method implementation on a subclass that overrides it? It seems like there should be...
In case you are wondering, the reason I am doing this is I am trying to implement a deep clone method. However, I would like any class to be able to call the deep clone method by passing themselves as an argument to a static method -- that way you don't have to worry about subclasses inheritting clone or anything like that. The code would look something like this (however it seems that according to the docs, this would result in an infinite recursion because when the Object.clone() method is invoked, it would actually resolve to the MyDeepCloneableObject.clone() method (which would call the utility function, which would invoke the Object.clone() again etc. etc.)):
public class MyDeepCloneableObject implements Cloneable {
public Object clone() {
return ObjectUtil.deepClone(this);
public class ObjectUtil {
private static final Method OBJECT_CLONE_METHOD;
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
static {
//Set the OBJECT_CLONE_METHOD
try {
OBJECT_CLONE_METHOD =
Object.class.getDeclaredMethod("clone", EMPTY_CLASS_ARRAY);
OBJECT_CLONE_METHOD.setAccessible(true);
} catch (NoSuchMethodException e) {
System.out.println(e.toString());
e.printStackTrace();
} catch (RuntimeException e) {
System.out.println(e.toString());
e.printStackTrace();
public static Object deepClone(Cloneable object, int levels) {
Object clone;
try {
clone = OBJECT_CLONE_METHOD.invoke(object, EMPTY_OBJECT_ARRAY);
} catch (IllegalAccessException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
} catch (InvocationTargetException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
} catch (RuntimeException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
// Use more reflection on fields of clone to implement deep clone
}In your example the clone method is not creating a clone, just returning a new instance of an object of the same type. In both cases the default shallow clone method should be implemented as follows:
public Object clone() {
//Call Object.clone()
return super.clone;
By doing so, any subclasses will also have their fields copied when clone() is called.
From the javadocs for Object.clone():
"The method clone for class Object performs a specific cloning operation. First, if the class of this object does not implement the interface Cloneable, then a CloneNotSupportedException is thrown. Note that all arrays are considered to implement the interface Cloneable. Otherwise, this method creates a new instance of the class of this object and initializes all its fields with exactly the contents of the corresponding fields of this object, as if by assignment; the contents of the fields are not themselves cloned. Thus, this method performs a "shallow copy" of this object, not a "deep copy" operation."
Now as to how the parent is supposed to know about fields in subclasses, the implementation of clone is implemented in a native method in Object, so the JVM can pretty much know anything about the subobject as long as it has a reference to it. Further, if I wanted to make my own implementation, I could using reflection:
public Object clone() {
// Get the runtime class of this object, note that the runtime class
// may be a subclass of the class in which this clone method is defined
Class objectClass = this.getClass();
//Get all of the fields in this class and it's super classes
List fieldsList = new ArrayList();
while (objectClass != null) {
Field[] fields = objectClass.getDeclaredFields();
for (int j =0; j < fields.length; j++) {
fieldsList.add(fields[j]);
objectClass = objectClass.getSuperClass();
//Now I can create a new instance of the runtime class and set
//all of its fields appropriately
However, I'm sure the JVM's implementation is far more efficient.
I have not benchmarked serialization. However, all the steps in my procedure would have to be done for serialization anyway (i.e. get list of all fields, instantiate equivalent field values and set them in the new object), but serialization also needs to convert everything to a byte representation and then parse it out again. Furthermore, serialization will perform a fully deep clone, where as I only want a one level deep clone (or two depending on how you think of it -- i.e. not a shallow copy of references (as Object.clone(0 does), but a copy of direct fields and containers (i.e. Maps and Collections in fields should be cloned, but not objects in the Maps and Collections). So if an object has a field which is a List and the List field contains 1 entry, and the object is cloned, then subsequent modifications to the List field in the cloned object are not reflected in the original object's List field and vice versa (i.e. the 1 entry is removed in the original , but remains in the clone's version of the List field). -
How can i call a taskflow methode from backing bean ??
Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
i like to call a Methode (taskflow) from backing bean!
my bean code :
public void imageLinkActionListner(ActionEvent actionEvent) {
String id = actionEvent.getComponent().getId();
int linkID = Integer.parseInt(id.substring(4));
DCBindingContainer bc = (DCBindingContainer)ADFUtils.getBindingContainer();
DCTaskFlowBinding tf = null;
System.out.println("Region Change...."+id+" INT "+linkID);
switch (linkID) {
case LINK_CALENDAR_REGION:
tf = (DCTaskFlowBinding)bc.findExecutableBinding("calendartaskflowPage");
break;
case LINK_MAIL_REGION:
tf = (DCTaskFlowBinding)bc.findExecutableBinding("mailtaskflowPage");
break;
case LINK_ADDRESS_REGION:
tf = (DCTaskFlowBinding)bc.findExecutableBinding("addresstaskflowPage");
break;
case LINK_BLOGS_REGION:
tf = (DCTaskFlowBinding)bc.findExecutableBinding("blogstaskflowPage");
break;
case LINK_MAPS_REGION:
tf = (DCTaskFlowBinding)bc.findExecutableBinding("mapstaskflowPage");
break;
default:
return;
if (tf != null){
uiMainRegion.setRegionModel(tf.getRegionModel());
uiMainRegion.setValue(tf.getRegionModel());
tf.getExecutableBindings();
AdfFacesContext.getCurrentInstance().addPartialTarget(uiMainRegion);
}i like to call *#{backingBeanScope.mapBean.initMap}*
my taskflow source
<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
<task-flow-definition id="map-task-flow">
<default-activity id="__1">map</default-activity>
<view id="map">
<page>/map/map.jsff</page>
</view>
<method-call id="initMap">
<method>#{backingBeanScope.mapBean.initMap}</method>
<outcome id="__7">
<fixed-outcome>init</fixed-outcome>
</outcome>
</method-call>
<control-flow-rule id="__2">
<from-activity-id id="__3">initMap</from-activity-id>
<control-flow-case id="__5">
<from-outcome id="__6">init</from-outcome>
<to-activity-id id="__4">map</to-activity-id>
</control-flow-case>
</control-flow-rule>
<use-page-fragments/>
</task-flow-definition>
</adfc-config>Hi,
to call the bean, use the EL in Java and reference #{backingBeanScope.mapBean.initMap} as a method expression. If you try and access the bean directly then chances are that the instance is not available. Using EL from Java always guarantees this
Frank -
How to call a bean method in the faces-config file?
Hi,
I would like in my menu to call the method of a bean (it initialize some properties before opening the page) instead of opening directly the page, by I can't find how to do that.
I tried :
<managed-property>
<property-name>viewId</property-name>
<value>#{listInformationsController.listInformations}</value>
</managed-property>
And :
<managed-property>
<property-name>outcome</property-name>
<value>#{listInformationsController.listInformations}</value>
</managed-property>
With no success...
Can someone help me?
Thank you and merry christmas !Hi,
a managed property only gives you a anlde to a bean or property, it doesn't execute it. To execute a bean, you can use a custom JSF PhaseListener that calls a bean method. The reference to the bean is achieve through value binding
ValueBinding vb = FacesContect.getCurrentInstance().getApplication().createValueBinding("Name of Managed Bean);
TypeOfBean theBean =(TypeOfBean) vb.getValue(FacesContext.getCurrentInstance());
.... theBean.theMethod() ...
Frank -
How to call a private method in a JFrame
I have a Frame which has some properties like its size, bgcolor plus other parameters, as instance variables. There is a button on the Frame with the caption : "set properties". When one clicks on that button, a new frame should appear via which a user can change the values of the parameters of the main Frame (i.e size, bgcolor,..etc). The user would input the new values in the textfields or radio buttons that are on the new frame, and then click a submit button, which has to exist on the same NFrame. How can I do that so that when the submit button is pressed, the parameters values are updated and so is the display view ?
I made it this way : I created 2 classes, the main frame and the new Frame. I made the new Frame an instance variable of the main Frame. When the user clicks the " set properties" button on the main Frame, the new Frame is shown. The user enters new values for some of the parameters and clicks submit. The parameters in the new Frame are updated. UP TO HERE EVERYTHING WENT JUST FINE. Now, there is a private method in the main frame that changes the color, size, ...etc of the main frame according to the values stored in the instance variables color, size,...etc. THE QUESTION IS: How can the new Frame display the changes after the values have been updated ? That is, how can it call the "private" method in the main class?? Should the new class be a child class of the main class to be able to access it's private methods ??import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class CallingHome
SkinMod skinMod;
JPanel panel;
public CallingHome()
// send reference so SkinMod can call methods in this class
skinMod = new SkinMod(this);
JButton change = new JButton("change properties");
change.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
skinMod.showDialog();
JPanel north = new JPanel();
north.add(change);
panel = new JPanel();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(north, "North");
f.getContentPane().add(panel);
f.setSize(300,100);
f.setLocation(200,200);
f.setVisible(true);
public void setBackground(Color color)
panel.setBackground(color);
panel.repaint();
public static void main(String[] args)
new CallingHome();
class SkinMod
CallingHome callHome;
Random seed;
JDialog dialog;
public SkinMod(CallingHome ch)
callHome = ch;
seed = new Random();
createDialog();
public void showDialog()
if(!dialog.isShowing())
dialog.setVisible(true);
private void createDialog()
JButton change = new JButton("change background");
change.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
callHome.setBackground(getColor());
dialog.dispose();
JPanel p = new JPanel();
p.add(change);
dialog = new JDialog();
dialog.getContentPane().add(p);
dialog.setSize(200,100);
dialog.setLocation(525,200);
private Color getColor()
return new Color(seed.nextInt(0xffffff));
} -
How to call a custom method in a parent container.
I have an MXML component that defines the method:
public function showAllGlyphs(spots:Array):void { ... }
There is a child component of this MXML componet called
DataClip, which has
a method that needs to call the parent method:
parent.showAllGlyphs(pushPins);
I get a 1061 error when compiling. I understand the problem.
The compiler
thinks the paret is a static class, and does not know about
the extention.
My question is how to I cast or otherwise reference this
method in the
PARENT?
Severity Description Resource In Folder Location Creation
Time Id
2 1061: Call to a possibly undefined method showAllGlyphs
through a
reference with static type
flash.display:DisplayObjectContainer.
DataClip.mxml Transitions line 32 August 21, 2006 3:07:28 PM
169I understand why what you say is the correct design pattern
(much more
modularity and the potential for re-use).
In my case, it still might make sense to use .parentDocument
(my problem was
not understanding the difference between .parent and
.parentDocument)
Although I still don't understand why .parentDocument does
work.
I have a bunch of purely GUI oriented subComponents of a
.parentApplication.
The parentApplication has a custom AS-only module that does
the "business
logic, network connections, etc).
Basically, I want a module (Singleton Class) that is
accessible from all GUI
subcomponents that provides general utility functions. It
can't be
instatiatiated multiple times. So there needs to be one
global place for it.
It does not really make things clear if everything is done
via an event
paradigm. (Well, maybe to me, but I have a Ph.D. in CS so I
am tainted) I
want this clear to the average programmer.
===============================
Dr. Yechezkal Gutfreund
Team ACE for Mobile Devices
===============================
"peterent" <[email protected]> wrote in
message
news:[email protected]...
> As a rule of thumb, a child should never call functions
in its parent. It
> is
> possible, it just not a very good programming practice.
> If a child needs the parent to do something, the child
should dispatch an
> event. In your child, declare an event using Metadata:
>
> <mx:Metadata>
> [Event("showGlyphs")]
> </mx:Metadata>
>
> The child should have a public property that the parent
can access to
> handle
> the event:
>
> public var pushPins:Array;
>
> When the child needs the parent to do this, have the
child set the
> pushPins
> array, then dispatchEvent( new Event("showGlyphs") );
>
> In the parent, on the child's tag, have it listen for
the event and
> execute it:
>
> <MyChild
showGlyphs="showAllGlyphs(event.target.pushPins)" />
>
> I know this seems like a lot more work, but it is a much
better strategy
> than
> having children reach up and into the parent's code.
> -
Hi guys,
i am trying to call a native method from my java code, but i am getting this following error,
# An unexpected error has been detected by HotSpot Virtual Machine:
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x052bd55f, pid=2740, tid=3884
# Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
# Problematic frame:
# C [F3BC1ENG.DLL+0xd55f]
In the log file,
# An unexpected error has been detected by HotSpot Virtual Machine:
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x052bd55f, pid=2740, tid=3884
# Java VM: Java HotSpot(TM) Client VM (1.5.0_07-b03 mixed mode, sharing)
# Problematic frame:
# C [F3BC1ENG.DLL+0xd55f]
--------------- T H R E A D ---------------
Current thread (0x03b26e50): JavaThread "httpWorkerThread-8080-0" daemon [_thread_in_native, id=3884]
siginfo: ExceptionCode=0xc0000005, reading address 0x05e71000
Registers:
EAX=0x31304443, EBX=0x05d048f0, ECX=0x0c4c0d16, EDX=0x05e70000
ESP=0x2c76ef38, EBP=0x2c76f034, ESI=0x05e71000, EDI=0x05d06d20
EIP=0x052bd55f, EFLAGS=0x00010213
Top of Stack: (sp=0x2c76ef38)
0x2c76ef38: 00000001 052a9264 2c76f228 052a92a4
0x2c76ef48: 01190002 00000000 00000000 00000000
0x2c76ef58: 00000000 ffffffff 00000002 05d05d38
0x2c76ef68: 00000000 00000000 00000000 00000000
0x2c76ef78: ffffffff 7c9106eb 00000004 00000000
0x2c76ef88: 00000000 00000000 00000000 00000000
0x2c76ef98: 00000000 00000000 00000000 00000000
0x2c76efa8: 00000000 052bf3e1 2c76efd4 0000101f
Instructions: (pc=0x052bd55f)
0x052bd54f: 00 8b 7c 24 2c 8b 4a 18 8d 72 18 8b c1 c1 e9 02
0x052bd55f: f3 a5 8b c8 eb 16 8b b4 24 bc 00 00 00 8b 7c 24
Stack: [0x2c670000,0x2c770000), sp=0x2c76ef38, free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [F3BC1ENG.DLL+0xd55f]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j palmsecuresdk.sample.PvsAuthenticationJNI.identifyMatch(I[BLjava/util/List;ILjava/util/List;)I+0
j packService.palmsImpl.identify([B)Ljava/lang/String;+55
j packService.palmsSEI_Tie.invoke_identify(Lcom/sun/xml/rpc/server/StreamingHandlerState;)V+50
j packService.palmsSEI_Tie.processingHook(Lcom/sun/xml/rpc/server/StreamingHandlerState;)V+58
j com.sun.xml.rpc.server.StreamingHandler.handle(Lcom/sun/xml/rpc/spi/runtime/SOAPMessageContext;)V+819
j com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+394
j com.sun.enterprise.webservice.JAXRPCServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+139
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+139
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j org.apache.catalina.core.ApplicationFilterChain.servletService(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/Servlet;Lorg/apache/catalina/util/InstanceSupport;)V+93
j org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)I+644
j org.apache.catalina.core.StandardPipeline.doInvoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+77
j org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+3
j org.apache.catalina.core.StandardContextValve.invokeInternal(Lorg/apache/catalina/Wrapper;Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)I+238
j org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)I+252
j org.apache.catalina.core.StandardPipeline.doInvoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+77
j com.sun.enterprise.web.WebPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+53
j org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)I+89
j org.apache.catalina.core.StandardPipeline.doInvoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+77
j com.sun.enterprise.web.VirtualServerPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+149
j org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+6
j org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)I+58
j org.apache.catalina.core.StandardPipeline.doInvoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+77
j org.apache.catalina.core.StandardPipeline.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+3
j org.apache.catalina.core.ContainerBase.invoke(Lorg/apache/catalina/Request;Lorg/apache/catalina/Response;)V+6
j org.apache.coyote.tomcat5.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+296
j com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter()V+19
j com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(Ljava/io/InputStream;Ljava/io/OutputStream;)Z+15
j com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(Ljava/io/InputStream;Ljava/io/OutputStream;)Z+25
j com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask()Z+74
j com.sun.enterprise.web.connector.grizzly.ReadTask.doTask()V+161
j com.sun.enterprise.web.connector.grizzly.TaskBase.run()V+1
j com.sun.enterprise.web.connector.grizzly.WorkerThread.run()V+22
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x037aec00 JavaThread "AWT-Windows" daemon [_thread_in_native, id=2664]
0x0376bb10 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=4020]
0x03a526c0 JavaThread "Thread-25" daemon [_thread_blocked, id=2508]
0x03a3b8e8 JavaThread "Timer-5" daemon [_thread_blocked, id=2260]
0x03a51e18 JavaThread "Timer-4" [_thread_blocked, id=2192]
0x035bae38 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[__JWSappclients]]" daemon [_thread_blocked, id=2548]
0x035fac10 JavaThread "httpWorkerThread-4848-1" daemon [_thread_blocked, id=3492]
0x03786530 JavaThread "httpWorkerThread-4848-0" daemon [_thread_blocked, id=1952]
0x035fa9e8 JavaThread "SelectorThread-4848" [_thread_in_native, id=408]
0x03576828 JavaThread "httpWorkerThread-8181-1" daemon [_thread_blocked, id=1964]
0x0356ee10 JavaThread "httpWorkerThread-8181-0" daemon [_thread_blocked, id=3476]
0x00c29278 JavaThread "SelectorThread-8181" [_thread_in_native, id=3512]
0x03acb208 JavaThread "httpWorkerThread-8080-1" daemon [_thread_blocked, id=3472]
=>0x03b26e50 JavaThread "httpWorkerThread-8080-0" daemon [_thread_in_native, id=3884]
0x03bea780 JavaThread "SelectorThread-8080" [_thread_in_native, id=1500]
0x03606198 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv]]" daemon [_thread_blocked, id=3788]
0x03b57620 JavaThread "SingleSignOnExpiration" daemon [_thread_blocked, id=3528]
0x03b5fb58 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[]]" daemon [_thread_blocked, id=3480]
0x03c03d58 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[newPalmService]]" daemon [_thread_blocked, id=3524]
0x03629bf0 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[palmSecure_ws]]" daemon [_thread_blocked, id=3560]
0x03acbee8 JavaThread "SingleSignOnExpiration" daemon [_thread_blocked, id=2308]
0x0374f418 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[__asadmin].StandardContext[]]" daemon [_thread_blocked, id=2708]
0x03601a88 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[__asadmin].StandardContext[web1]]" daemon [_thread_blocked, id=2284]
0x03b4e748 JavaThread "ContainerBackgroundProcessor[StandardEngine[com.sun.appserv].StandardHost[__asadmin].StandardContext[asadmin]]" daemon [_thread_blocked, id=680]
0x037e4ac8 JavaThread "Timer-3" [_thread_blocked, id=2100]
0x03a97b08 JavaThread "RMI RenewClean-[192.168.10.19:1464]" daemon [_thread_blocked, id=2080]
0x037a7f38 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=1580]
0x03a4a050 JavaThread "RMI TCP Accept-8686" daemon [_thread_in_native, id=1316]
0x0379ccd0 JavaThread "Thread-15" [_thread_blocked, id=316]
0x03771d20 JavaThread "Thread-14" [_thread_blocked, id=228]
0x0376bcf0 JavaThread "Thread-13" [_thread_blocked, id=436]
0x0373d2a8 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=904]
0x0373aa68 JavaThread "RMI RenewClean-[192.168.10.19:1429,com.sun.enterprise.admin.server.core.channel.LocalRMIClientSocketFactory@ac4d3b]" daemon [_thread_blocked, id=2320]
0x00c66dd0 JavaThread "Timer-2" daemon [_thread_blocked, id=1512]
0x038e3350 JavaThread "Timer-1" [_thread_blocked, id=2272]
0x03a4ac60 JavaThread "Thread-10" [_thread_in_native, id=4052]
0x03a6fc88 JavaThread "Thread-8" [_thread_in_native, id=1052]
0x03a43818 JavaThread "Thread-7" [_thread_in_native, id=2600]
0x03a1e808 JavaThread "Thread-6" [_thread_in_native, id=1648]
0x03a1ac20 JavaThread "GC Daemon" daemon [_thread_blocked, id=4084]
0x03a52e18 JavaThread "RMI Reaper" [_thread_blocked, id=144]
0x03a52c30 JavaThread "Timer-0" daemon [_thread_blocked, id=208]
0x03a3d730 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=2044]
0x00c17020 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3456]
0x00c15bf0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4064]
0x00c14ed8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4060]
0x00c0fd90 JavaThread "Finalizer" daemon [_thread_blocked, id=4044]
0x00c0e8c0 JavaThread "Reference Handler" daemon [_thread_blocked, id=2436]
0x0032df88 JavaThread "main" [_thread_blocked, id=1532]
Other Threads:
0x00bdc778 VMThread [id=4028]
0x00c31a20 WatcherThread [id=4068]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation total 11712K, used 4051K [0x06a70000, 0x07720000, 0x11510000)
eden space 10432K, 27% used [0x06a70000, 0x06d435b0, 0x074a0000)
from space 1280K, 90% used [0x075e0000, 0x077017d8, 0x07720000)
to space 1280K, 0% used [0x074a0000, 0x074a0000, 0x075e0000)
tenured generation total 25784K, used 15468K [0x11510000, 0x12e3e000, 0x26a70000)
the space 25784K, 59% used [0x11510000, 0x1242b290, 0x1242b400, 0x12e3e000)
compacting perm gen total 26880K, used 26785K [0x26a70000, 0x284b0000, 0x2aa70000)
the space 26880K, 99% used [0x26a70000, 0x28498618, 0x28498800, 0x284b0000)
ro space 8192K, 67% used [0x2aa70000, 0x2afcd9f8, 0x2afcda00, 0x2b270000)
rw space 12288K, 46% used [0x2b270000, 0x2b813808, 0x2b813a00, 0x2be70000)
Dynamic libraries:
0x00400000 - 0x00406000 D:\Sun\AppServer\lib\appserv.exe
0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f4000 C:\WINDOWS\system32\kernel32.dll
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll
0x6d730000 - 0x6d8c7000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\client\jvm.dll
0x77d40000 - 0x77dd0000 C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f56000 C:\WINDOWS\system32\GDI32.dll
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
0x6d2f0000 - 0x6d2f8000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
0x00a10000 - 0x00a27000 C:\Program Files\Common Files\Logishrd\LVMVFM\LVPrcInj.dll
0x6d700000 - 0x6d70c000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\verify.dll
0x6d370000 - 0x6d38d000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\java.dll
0x6d720000 - 0x6d72f000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\zip.dll
0x6d530000 - 0x6d543000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\net.dll
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
0x71a50000 - 0x71a8f000 C:\WINDOWS\System32\mswsock.dll
0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll
0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll
0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll
0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll
0x04220000 - 0x04248000 C:\WINDOWS\system32\rsaenh.dll
0x769c0000 - 0x76a73000 C:\WINDOWS\system32\USERENV.dll
0x5b860000 - 0x5b8b4000 C:\WINDOWS\system32\netapi32.dll
0x6d550000 - 0x6d559000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\nio.dll
0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll
0x6d520000 - 0x6d528000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\management.dll
0x6d670000 - 0x6d676000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\rmi.dll
0x6d070000 - 0x6d1d7000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\awt.dll
0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.dll
0x774e0000 - 0x7761c000 C:\WINDOWS\system32\ole32.dll
0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll
0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
0x73940000 - 0x73a10000 C:\WINDOWS\system32\D3DIM700.DLL
0x6d2b0000 - 0x6d2ef000 C:\Program Files\Java\jdk1.5.0_07\jre\bin\fontmanager.dll
0x7c9c0000 - 0x7d1d4000 C:\WINDOWS\system32\shell32.dll
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
0x773d0000 - 0x774d2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x5d090000 - 0x5d127000 C:\WINDOWS\system32\comctl32.dll
0x05290000 - 0x0529a000 C:\WINDOWS\system32\PvsApiJv.dll
0x052a0000 - 0x052ac000 D:\Java Project\PalmSecure\src\dll\PvFw.dll
0x052b0000 - 0x052dc000 D:\Java Project\PalmSecure\src\dll\F3BC1ENG.DLL
0x052e0000 - 0x0531f000 D:\Java Project\PalmSecure\src\dll\F3BC4CAP.DLL
0x05320000 - 0x05344000 D:\Java Project\PalmSecure\src\dll\F3BC4COM.DLL
0x73dd0000 - 0x73ece000 C:\WINDOWS\system32\MFC42.DLL
0x05c50000 - 0x05cf7000 D:\Java Project\PalmSecure\src\dll\F3BC4MAT.DLL
VM Arguments:
jvm_args: -client -Xmx512m -XX:NewRatio=2 -Dcom.sun.aas.defaultLogFile=D:/Sun/AppServer/domains/domain1/logs/server.log -Djava.endorsed.dirs=D:/Sun/AppServer/lib/endorsed -Djava.security.policy=D:/Sun/AppServer/domains/domain1/config/server.policy -Djava.security.auth.login.config=D:/Sun/AppServer/domains/domain1/config/login.conf -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.client.gcInterval=3600000 -Djavax.net.ssl.keyStore=D:/Sun/AppServer/domains/domain1/config/keystore.jks -Djavax.net.ssl.trustStore=D:/Sun/AppServer/domains/domain1/config/cacerts.jks -Djava.ext.dirs=C:/Program Files/Java/jdk1.5.0_07/jre/lib/ext;D:/Sun/AppServer/domains/domain1/lib/ext;D:/Sun/AppServer/javadb/lib -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver -Djavax.management.builder.initial=com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory -Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar -Dcom.sun.enterprise.taglisteners=jsf-impl.jar -Dcom.sun.aas.classloader.optionalOverrideableChain=appserv-ws.jar,commons-logging.jar,commons-launcher.jar -Dcom.sun.aas.classloader.appserverChainJars=admin-cli.jar,admin-cli-ee.jar,dbschema.jar,j2ee-svc.jar -Dcom.sun.aas.classloader.serverClassPath.ee=%HADB_HOME%/lib/hadbjdbc4.jar,D:/Sun/AppServer/lib/SUNWjdmk/5.1/lib/jdmkrt.jar,%HADB_HOME%/lib/dbstate.jar,%HADB_HOME%/lib/hadbm.jar,%HADB_HOME%/lib/hadbmgt.jar,D:/Sun/AppServer/lib/SUNWmfwk/lib/mfwk_instrum_tk.jar -Dcom.sun.aas.configName=server-config -Ddomain.name=domain1 -Djmx.invoke.getters=true -Dcom.sun.aas.promptForIdentity=true -Dcom.sun.aas.classloader.optionalOverrideableChain.ee= -Dcom.sun.aas.instanceRoot=D:/Sun/AppServer/domains/domain1 -Dcom.sun.aas.domainName=domain1 -Dcom.sun.aas.classloader.sharedChainJars=javaee.jar,C:/Program Files/Java/jdk1.5.0_07/lib/tools.jar,install/applications/jmsra/imqjmsra.jar,commons-launcher.jar
java_command: <unknown>
Launcher Type: generic
Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_07
CLASSPATH=C:\PROGRA~1\JMF21~1.1E\lib\sound.jar;C:\PROGRA~1\JMF21~1.1E\lib\jmf.jar;C:\PROGRA~1\JMF21~1.1E\lib;C:\Program Files\Java\jdk1.5.0_07\jre\lib;.
PATH=C:/Program Files/Java/jdk1.5.0_07\jre\bin\client;D:\Sun\AppServer\lib;D:\Sun\AppServer\lib;C:\Program Files\Java\jdk1.5.0_07\bin;.;C:\WINDOWS\system32;C:\WINDOWS;D:\Sun\AppServer\lib;D:\Sun\AppServer\bin;D:\Sun\AppServer\lib;D:\Sun\AppServer\bin;C:\Sun\share\lib;C:\Sun\share\bin;C:\PROGRA~1\Java\JDK15~2.0_0\bin;C:\Sun\MessageQueue\lib;C:\Sun\MessageQueue\bin;c:\oracledb\product\10.2.0\db_2\bin;D:\oracle\product\10.2.0\db_1\bin;c:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\wamp\php;C:\wamp\Apache\GnuWin32\bin;d:\Program Files\Microsoft SQL Server\90\Tools\binn\;D:\Java Project\PalmSecure\src\dll;D:\Java Project\PalmSecure\src\Lib;.;D:\Sun\AppServer\bin;;C:\Sun\AppServer;C:\Program Files\Java\jdk1.5.0_07\bin;C:\Program Files\Cvsnt;C:\Program Files\CVSNT\;D:\Java Project\PalmSecure\src\dll;D:\Java Project\PalmSecure\src\Lib;
USERNAME=subbu.chandrasekaran
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 44 Stepping 2, AuthenticAMD
--------------- S Y S T E M ---------------
OS: Windows XP Build 2600 Service Pack 2
CPU:total 1 family 47, cmov, cx8, fxsr, mmx, sse, sse2
Memory: 4k page, physical 457904k(42684k free), swap 3464136k(2905608k free)
vm_info: Java HotSpot(TM) Client VM (1.5.0_07-b03) for windows-x86, built on May 3 2006 01:04:38 by "java_re" with MS VC++ 6.0
what is the reason for this one....?
In my case, whenever the user has clicked the Identify button then the native method Identify should be called. That time it's working fine.
But once the user has clicked the Enroll button, then first the Identify native method should be called, based upon the result, the enroll() native method will be called. I am getting the error whenever i am clicking the Enroll button.
while clicking the Identify button i didn't get any such error....
What would be the reason?
someone pls clear my doubt.
--SubbuYou have a bug in your C code, and are attempting to access memory location 0.
Look for an unitialized pointer. -
Calling java instance methods in XSLT stylesheet
HI
I know this has been answered in this forum but I cnanot get it to work.
Before calling the transform() method on my transformer instance I do the following
transformer.setParameter( "Confirm", confirm)confim is an instance of one of my own classes. I want to get the
XSLT stylesheet to call a method on this object. The method sig is
public void setTitle(String title)Accordingly in my stylesheet I do the following
<xsl:param name="Confirm"/>having already declared the java namespace in my stylesheet element as xmlns:java="java", and later on call the setTitle method
<xsl:value-of select="java:setTitle($Confirm,$Title)/>where $Title is another var generated in the XSLT.
This should work, right? Well I get an error
'The first argument to the non-static Java function 'setTitle' is not a valid object reference.'But it is as I can do this
<xsl:value-of select="$Confirm"/>Thanks
MarkHi !
I've being trying to use a java class into xsl but without success.
If anybody can help me to no how do I have to organize the files (.class, .xsl)????
My organization is like this
c:
WEBAPP
WEB-INF (here I have the .xml and .xsl)
classes
com
example (here I have the .class)
And I use it as follows:
--------------------------------------xslextension_prueba.XSL------------------ ---------------------------
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="java"
extension-element-prefixes="java"
version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body bgcolor="#FFFFFF">
<h2>The smoking calendar</h2>
<h3>
<xsl:value-of select="java:Date.new()"/>
</h3>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
--------------------------------------------XML-------------------------------- ----
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xslextension_prueba.xsl"?>
<articles>
<article>
<title>Using Web Services</title>
<author>T. Cowan</author>
<date>11/30/01</date>
<text>
content of article.
</text>
</article>
<article>
<title>Java May Be Just a Fad</title>
<author>J. Burke</author>
<date>08/15/95</date>
<text>
content of article.
</text>
</article>
</articles>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!AND I GET THIS ERROR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
E The URI java does not identify an external Java class
THANKS FOR YOUR HELP...... -
Calling multiple DLL from Java and calling same native method
i have two dll files named DLL_1.dll and DLL_2.dll .
Both of them contain a native method which has a signature
JNIEXPORT void JNICALL Java_Database_Notify
(JNIEnv *, jclass);
This method is common to both the DLL
Now i load both of the DLL's using,
System.loadLibrary("DLL_1");
System.loadLibrary("DLL_2");
Both of the DLL are loaded form same Java Application
But the problem is that , whenever i try to call the Notify Method , it calls the Notify method of DLL_1 only.
How do i call the Notify Methos of second DLL(i.e DLL_2).
Is there any reference that i can get to all the DLL files when i load then , so that i can use that reference to invoke the Notify method of that particular DLL.i have two dll files named DLL_1.dll and DLL_2.dll .
Both of them contain a native method which has a
signature
JNIEXPORT void JNICALL Java_Database_Notify
(JNIEnv *, jclass);
This method is common to both the DLL
Now i load both of the DLL's using,
System.loadLibrary("DLL_1");
System.loadLibrary("DLL_2");
Both of the DLL are loaded form same Java
Application
But the problem is that , whenever i try to call the
Notify Method , it calls the Notify method of DLL_1
only.
How do i call the Notify Methos of second DLL(i.e
DLL_2).
Is there any reference that i can get to all the DLL
files when i load then , so that i can use that
reference to invoke the Notify method of that
particular DLL.You need to explain exactly what you are trying to achieve.
As per the description above it is impossible in java.
And I didn't say JNI, I said java.
Your above statement suggests that you think that you can have exactly the same java signature do two different things.
Note again that I said java not JNI.
A JNI method is just a tag that represents a java signature. Your description suggests that you are attempting to do it twice.
There are three possibilities.
1. Your explanation is incomplete.
2. You are trying to do something that is impossible in java.
3. You are trying to solve a problem and your description of your solution is not sufficient to determine what that is (and of course the solution is wrong.) -
How to call Copy.GetItem Method in Excel vba function
Hi,
I want to use sharepoint copy services to download/upload or retreive field information of a sharepoint file.
For that i want to sharepoint web services. One class among them is copy. I want to call the GetItem method present in that class.
Think that modules are not installed or not found in excel vba editor tools reference library list to enable.
So please provide me the steps from scratch to install the sharepoint library. and call the Copy class methods in my script.
Just send me a sample vba code to accomplishes the same requirement. I appreciate the help.
Regards,
SUBBAHi SUBBA,
The following articles for your reference:
VBA - Download files from sharepoint
http://ckannan.blogspot.com/2012/09/vba-download-files-from-sharepoint.html
Using Microsoft Windows SharePoint Services with the Microsoft Office System
http://msdn.microsoft.com/en-us/library/office/aa159897(v=office.11).aspx
How to download a file from a Sharepoint server via Excel VBA?
http://www.justanswer.com/computer-programming/7ntq7-download-file-sharepoint-server-via-excel-vba.html
About the Excel VBA questions, you can also post it to Excel for Developers Forum, you will get more help and confirmed answers from there.
http://social.msdn.microsoft.com/Forums/office/en-US/home?forum=exceldev<o:p></o:p>
Best Regards
Dennis Guo
TechNet Community Support
Maybe you are looking for
-
How to launch an application from a website?
Hi All, Can anyone tell me how to launch an application (packaged in a jar) from a website? I would like to open my application (and pass some arguments) by clicking a special banner or logo on a website. Regards, Stanley
-
CCPConfig.XML File missing
When building a package for MacOS the package builds successfully but upon launch I receive an error that the pacakge could not be installed. After checking the PDApp.log file I found the following error: ERROR invalid xml file path. Could not read d
-
Transports of Business Content
I am having problems transporting Business Content and have decided to take a new approach. I will transport bottom up. How can I delete/rollback all the previous transports which have failed. I have only transported from Development to QA? Thanks
-
Relationships in CMP Entity Beans
Hi everyone; There is a way to implement one-to-many and many-to many relationships in CMP Entity Beans, is there a way to specify a parametrized query or something that do the job on the DBMS? Regards Francisco.
-
My pc will rip a cd but will not burn, screen says no burner found or connected
my pc will rip a cd but will not burn.