B
Bin Xin
Hi,
I am doing a little CORBA java programming lately, using JacORB
implementation. And when I am testing my implementation of the
EventChannel service , I get the following puzzling message(which
might appear to be very simple):
java.lang.AbstractMethodError: EventConfig/ProxyPullSupplierBase_bt.try_pull
at EventChannelAdmin.ProxyPullSupplierPOATie.connect_pull_consumer(Unknown Source)
at EventChannelAdmin.ProxyPullSupplierPOA._invoke(Unknown Source)
at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:247)
at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:477)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:604)
java.lang.InterruptedException: operation interrupted
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at org.jacorb.orb.ORB.run(ORB.java:1115)
I use the Tie approach here, so the POATie class delegate the call, connect_
pull_consumer, to another implementation class, A. And A is concrete and
inherits the abstract ...Base_bt class in the error message. And try pull
is just another
method in the same interface that A implements, and is surely not called
from with the body of connect_pull_consumer.
So, my question is: 1) how an AbstractMethodError can be thrown without
actually been called at runtime?(The Java Spec. seems to say it will not
happen at loading or verifying stage.) 2). Any other suggestions/tools to
debug a distributed object system, like something that I can hook to the
servant thread and get a detailed log message when a call comes in from the
orb.
Thanks,
-B
I am doing a little CORBA java programming lately, using JacORB
implementation. And when I am testing my implementation of the
EventChannel service , I get the following puzzling message(which
might appear to be very simple):
java.lang.AbstractMethodError: EventConfig/ProxyPullSupplierBase_bt.try_pull
at EventChannelAdmin.ProxyPullSupplierPOATie.connect_pull_consumer(Unknown Source)
at EventChannelAdmin.ProxyPullSupplierPOA._invoke(Unknown Source)
at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:247)
at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:477)
at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:604)
java.lang.InterruptedException: operation interrupted
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at org.jacorb.orb.ORB.run(ORB.java:1115)
I use the Tie approach here, so the POATie class delegate the call, connect_
pull_consumer, to another implementation class, A. And A is concrete and
inherits the abstract ...Base_bt class in the error message. And try pull
is just another
method in the same interface that A implements, and is surely not called
from with the body of connect_pull_consumer.
So, my question is: 1) how an AbstractMethodError can be thrown without
actually been called at runtime?(The Java Spec. seems to say it will not
happen at loading or verifying stage.) 2). Any other suggestions/tools to
debug a distributed object system, like something that I can hook to the
servant thread and get a detailed log message when a call comes in from the
orb.
Thanks,
-B