This was an oversight on our part. We
just did a major conversion to using IExpressions for just about everything
for performance reasons. We used to do everything through IMethodProxy's,
but on a remote vm with a complicated java class the performance was not
good. This was because each call to do an invoke on an IMethodProxy was
round-trip. Talking through sockets to a remote vm using many small transactions
has a lot of latency delay which adds up. So we changed to use IExpressions.
These just keeping pushing the commands to the remote vm without stopping
and waiting for a response until the entire transaction of all components
and setting them up has been completed. At that time we wait for the expressions
to be evaluated and completed. This helps tremendously when using remote
vm's. However, IExpressions when using IDERegistry, has a significant performance
overhead. This is because since everything is local, there is relatively
no latency for the IMethodProxy invokes compared to the setup and processing
costs of the IExpression itself.
Now we had put this in recently and
forgot that ComponentManager could be used outside of remote vm's, such
as you are doing. So for now you need to wrapper the calls within a IExpression.
We do intend to change ComponentManager to also allow direct non-_expression_
access but I doubt we will get to it for VE1.1 because 1.1 is going into
final test stage in about a week.
Sorry for the inconvenience on this.
You should open a defect on Bugzilla against VE subcomponent JFC/Swing
and make me (richkulp@xxxxxxxxxx) the person to be assigned to asking that
the ComponentManager be changed to work without IExpressions too. That
way you will be notified when we do actually fix it.