I noticed that thread, and it gives rise to a concern. As far as I know, JavaME is designed to allow you to remotely upgrade your applications.
But does it have support for remotely upgrading JavaME itself, to patch bugs like this, which may only be found once you have a million devices in the field?
Excellent question Colin, was wondering that myself for a while. I did think of some things and it aint pretty:
1) Package Java ME into the distro OS, but who is managing the OS and updates? (this becomes a bit similar to Java ME deployed on mobile phones and we become like the role of the phone manufacturer).
2) Licence cost involved with Oracle when deploying Java ME commercially (reference to point 1).
Maybe there is an easier way, and perhaps Andrey can enlighten us . However, I reckon the simplest is to trust Java ME to run the app reliably, provided much testing was done on the platform before app deployment.
Trinity, you've actually given a perfect answer.
In addition I'd say there are few totally different use-cases depending on who and how managing the device
- for development boards, like RPi, it's likely that Oracle will not provide any automatic updates for Java ME, as it viewed as a playground so it's assumed that the user is also an admin and configures the board exactly in a way required
- remember that Java ME is targeted for much more constrained devices than RPi. So for commercial deployments it's likely that Java ME is statically linked with an OS so it's not possible to update Java only. So here we rely on device manufacturers or similar kinds of entities to provide updates
However there is third class:
- small development (or commercial) boards which are directly supported by Oracle. For example STM32F4-DISCOVERY (MB997) which at some point was supported by Java ME 8 (EA1 release). Here it looks like the Java update is a perfect fit feature. Unfortunately currently these kinds of devices are not supported. However we are considering addressing some of them in the near future. And as part of this effort the Java ME runtime self-update is one of the key features on our list.
With regards to original problem. Unfortunately the particular UART bug was fixed too late to get into GA. And yes we'll work with Tom to work this around in the next course
Thanks for the info Andrey, and many thanks for helping us out during this course, its really much appreciated. I suppose I will correspond with you more on the Java ME forum side after the course as I am keen to use Java ME Embedded for my future projects ...can't wait for the next GA update.
So, from what you say is there a different Java ME embedded version to use for commercial boards like the STM32F4-DISCOVERY or are the GA downloads at the moment be sufficient to prototype?
Very glad to hear Java ME is helpful for you
WRT other boards. Unfortunately ME8 currently only supports only RPi and Qualcomm QC6270T. The support for STM32F4 has only appeared in Early Access 1 (fall 2013) and discontinued since then. The good news is that we plan to restore it as well as add support for boards of other vendors. (For STM32F it will be some newer board, not the MB997 we've supported in 2013)