About OpenJMS selector error.

<rainting-uB8bxKUEBrdWk0Htik3J/[email protected]>
Newsgroups gmane.comp.java.openjms.devel
Message-ID <[email protected]>
>Hi,
> i get an error with 0.7.3 and selector if I use SimpleConsumer.
> javax.jms.JMSException: Failed to createSubscriber  java.rmi.ServerError:
>  Error occurred in server thread; nested exception is: 
> java.lang.ClassFormatError:
> org/exolab/jms/selector/parser/SelectorLexer (Code of a method longer than
> 65535 bytes)
> What the reason?
>
 
 
It is due to java limition, which doesn't allow a class longer than 64k.
You could modify the source code file : org/exolab/jms/selector/parser/SelectorLexer.java after ANTLR task.
 
1) seperate large static memebers to new classes, such as 
      1.1)  add a new non-public class named "TokenSet0", which contains the members "_tokenSet_0_data_[]" , "_tokenSet_0"
      1.2)  ..............................................."TokenSet1"............."_tokenSet_1_data_[]" , "_tokenSet_1"
                 ........
      1.6)  ................................................"TokenSet6".............."_tokenSet_6_data_[]" , "_tokenSet_6"
 
2) replace these variables references with the new prefix ""TokenSet0."( or ....) .
 
 
After then, you could compile and war all codes.
 
 
--------------
 
Best Regards,
Wang Ting
 
 
 
______________________________________

===================================================================
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.