This is another in the occasional series of meta or recursive posts prompted by the appearance of a specific query in the list of search terms used by people who have ended up here, despite the fact that I have not written about it.
In this case the query is the gnomic
No MIDlet-<n> registration
It looks as though it is probably an error message and it turns out that it is.
Like the subject of this post, it originates in the company formerly known as SUN‘s MIDP implementation.
If you do this at runtime
PushRegistry.registerConnection("socket://:8888", "xper.midlet.Lamiel", "*")
but the only thing in the JAD and/or JAR manifest of your MIDlet suite is this
MIDlet-1: UsefulMIDlet, UsefulMIDletIcon.png, xper.midlet.Colgrevance
and you are using the TCFKAS MIDP implementation then you will get a ClassNotFoundException with the message
No MIDlet-<n> registration
even if the MIDlet suite JAR contains the class xper.midlet.Lamiel
Why ?
Because, as it says, in the documentation
The named MIDlet MUST be registered in the application descriptor or the JAR manifest with a
MIDlet-<n>
record.
Adding something like this
MIDlet-2: PushableMIDlet, PushableMIDletIcon.png, xper.midlet.Lamiel
to the JAD and/or JAR manifest of the MIDlet suite in the example above would fix the problem.
The same problem, but not the same error message, occurs with static registration.
If the JAD and/or JAR manifest of the MIDlet suite only specifies these attributes
MIDlet-1: UsefulMIDlet, UsefulMIDletIcon.png, xper.midlet.Colgrevance
MIDlet-Push-1: socket://:8888, xper.midlet.Lamiel, *
then the MIDlet suite will not install.
As before, the second MIDlet needs to be registerd
MIDlet-1: UsefulMIDlet, UsefulMIDletIcon.png, xper.midlet.Colgrevance
MIDlet-2: PushableMIDlet, PushableMIDletIcon.png, xper.midlet.Lamiel
MIDlet-Push-1: socket://:8888, xper.midlet.Lamiel, *
Note that the ordinals of the
MIDlet-<n>
and
MIDlet-Push-<n>
attributes do not have to match, they identify the attributes not the MIDlets.
Copyright (c) 2011 By Simon Lewis. All Rights Reserved.