Bom dia,
Quando estou fazendo o deploy de uma aplicação no jBoss, ocorre um aviso, procurei pela causa dele, dentre as causas que econtrei, são que são compiladas com uma versão antiga do java, estou compilando com a jre 1.6, mas uso algumas classes que acho que foram feitas no 1.4, mas acredito que haja compatibilidade para com as versões mais antigas. segue a mensagem.
09:45:41,001 WARN [org.jboss.modules] (MSC service thread 1-3) Failed to defineclass quickfix.fix41.MessageFactory in Module "deployment.fiscalapp-messaging-server-1.0.0.war:main" from Service Module Loader: java.lang.ClassFormatError: Extra bytes at the end of class file quickfix/fix41/MessageFactory
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_21]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) [rt.jar:1.6.0_21]
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) [rt.jar:1.6.0_21]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_21]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73)
at org.jboss.modules.Module.loadModuleClass(Module.java:517)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_21]
at java.lang.Class.forName(Class.java:169) [rt.jar:1.6.0_21]
at quickfix.DefaultMessageFactory.discoverFactory(DefaultMessageFactory.java:51) [fiscalapp-messaging-1.0.0.jar:]
at quickfix.DefaultMessageFactory.<init>(DefaultMessageFactory.java:41)[fiscalapp-messaging-1.0.0.jar:]
at br.com.ciss.fiscalapp.messaging.server.infrastructure.quickfixj.QuickFixMessageSender.setup(QuickFixMessageSender.java:67) [classes:]
at br.com.ciss.fiscalapp.messaging.server.application.listener.ApplicationListener.contextInitialized(ApplicationListener.java:27) [classes:]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_21]
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_21]
[code]package quickfix.fix41;
import quickfix.Group;
import quickfix.Message;
public class MessageFactory implements quickfix.MessageFactory
{
@Override
public Message create( final String beginString, final String msgType ) {
if(quickfix.fix41.Heartbeat.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.Heartbeat();
}
if(quickfix.fix41.Logon.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.Logon();
}
if(quickfix.fix41.TestRequest.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.TestRequest();
}
if(quickfix.fix41.ResendRequest.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.ResendRequest();
}
if(quickfix.fix41.Reject.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.Reject();
}
if(quickfix.fix41.SequenceReset.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.SequenceReset();
}
if(quickfix.fix41.Logout.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.Logout();
}
if(quickfix.fix41.Notification.MSGTYPE.equals(msgType)) {
return new quickfix.fix41.Notification();
}
return new quickfix.fix41.Message();
}
@Override
public Group create(final String beginString, final String msgType, final int correspondingFieldID) {
return null;
}
}
[/code]