JDK 1.4 and higher is the current requirement. However, I am guessing would work in some J2ME envrionments if just using the socket transport, but don't know all the jdk api restrictions (think only a small subset of the java.net packaged classes are available).
If you can let us know the restrictions, can try to modify the remoting client invoker to comply (and may add a new transport just for the J2ME case).
My solution will just use socket transport. I'll try to discover th restrictions and let you know.
The PDA client VM is a J2ME CDC 1.0 Personal Profile (WEME from IBM). It means that the restrictions are the same for the J2SE 1.2.2. I have opened the Jboss Remoting source code in Eclipse using J2SE 1.2.2 and found the following problems in the classes I think are needed in the client side:
1) org.jboss.remoting.transport.socket.SocketClientInvoker --> we don't have in java.net: SocketFactory, SocketTimeout and Socket.isConnected()
2) org.jboss.remoting.InvokerLocator --> String.replaceAll
I need to know what are all the classes needed in the client side to build a jboss-remoting-client-pda.jar . Can you help me with it ?
So are not going to be able to use socket transport on your micro client as is based on the class and methods you mentioned that are not supported.
I don't know J2ME very well, but if you would be willing to help with testing (and maybe a little coding here and there), I'd be willing to create a special socket based transport for j2me (which would extend the one we have now, but remove the code references not allowed in j2me as you have pointed out above). Could also then package a jboss-remoting-client-pda.jar as well with the distribution.
I´m very interested in help with testing and coding the special socket based transport for j2me. I´ve decided to use Jboss Remoting in a real J2ME project in my company, so I will need it.
So what is next step ? I think it´s necessary to know all the code references not allowed in j2me. To do this, I need to know the list of classes needed only in the client side. I can discover that, but if you know it could be faster.
I've created a jira issue for this (http://jira.jboss.com/jira/browse/JBREM-416). Will need to get modified SocketClientInvoker implemented first, then will move onto creating a j2me jar for testing. Will probably have to be a trial and error on what needs to be stripped out.
Hey Eduardo. I am working on the mico implementation of SocketClientInvoker. Was wondering if you could tell me which of the listings on http://java.sun.com/javame/downloads/index.html I should look at to see what API I should try to comply to? There are many there and am just looking for javadoc of classes that will be supported (so can make sure I am in line with that).
You should try to comply to the J2ME Personal Profile 1.0 (JSR 62). It is the richest profile of the CDC Configuration and is supported by the IBM J9 VM (popular PDA VM).
Let me know If I can help with something else.
I downloaded pp-1_0_01-src-linux-i686.zip (appears that only linux distribution is available?). Frankly speaking, I am totally lost. I have played around with emulators before (from Ericson, Motorola, etc.), but this does not seem to be the same. What would you suggest as the best way to actually compile and run tests under J2ME?
In J2ME there are two configurations named CLDC (more limited resources devices, eg. celular phones) and CDC (limited resources devices, eg. PDAs). The best way to compile and run tests under J2ME is using emulators. For CDLC there are many emulators available for Eclipse and Netbeans IDEs. For CDC, to my knowledgment, only Netbeans has an emulator called "NetBeans Mobility Pack". As I'm an Eclipse user I've done a workaround that I describe below:
1. Install the IBM J9 VM - CDC 1.0 - Personal Profile (it implements the CDC Foundation Profile and Personal Profile) 
2. Install the Eclipse J9 launch plugin 
3. Config the Eclipse J9 launch plugin:
- Click Window->Preferences, then select Java->Installed JREs
- Add a new JRE
- Choose "J9 VM"
- Provide an appropriate name such as "Foundation" or "Personal" (depends on your target profile)
- For JRE home, point to your J9 installation path
- Uncheck "Use default system libraries"
- Delete all libraries listed
- Add new libraries that point to your desired configuration. I.e.:
PS: For Personal Profile you should add the jars in the lib/jclFoundation/ppro10 folder also
- Click OK
4. Set sample project to use Foundation JRE
- Right click on ercpHello project
- Select Properties and Java Build Path
- Select Libraries tab
- Remove JRE System Library
- Click Add Library and select JRE System Library
- Check Alternate JRE, and select "Foundation" or "Personal" JRE, then click Finish
Hi Eduardo. Looks like I am just not going to have time to setup a dev for this. I have made changes within HEAD for a micro socket client invoker, which should work in terms of API provided within J2ME. Would it be possible for you to take on testing for this and provide feedback as to any other changes I need to make?
Hi Tom, I'll do it and come back soon.