[ https://issues.apache.org/jira/browse/SCB-562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468189#comment-16468189 ]
yangyongzheng commented on SCB-562: ----------------------------------- I think unpublish this service impl is a good idea > Java Chassis will throw NPE when producer impl do not contain any method > ------------------------------------------------------------------------ > > Key: SCB-562 > URL: https://issues.apache.org/jira/browse/SCB-562 > Project: Apache ServiceComb > Issue Type: Bug > Components: Java-Chassis > Affects Versions: java-chassis-1.0.0-m1 > Reporter: yangyongzheng > Priority: Major > Fix For: java-chassis-1.0.0-m2 > > > If a producer impl do not contain any method like : > ```java > @RestSchema(schemaId = "hello") > @Path("/") > public class HelloImpl { > } > ``` > Then an NPE will throw when startup: > 2018-05-09 08:50:04,333 [ERROR] cse init failed, > Exception: java.lang.NullPointerException; null > java.lang.NullPointerException > at > org.apache.servicecomb.swagger.generator.core.utils.ClassUtils.createInterface(ClassUtils.java:212) > at > org.apache.servicecomb.swagger.generator.core.utils.ClassUtils.getOrCreateInterface(ClassUtils.java:203) > at > org.apache.servicecomb.swagger.generator.core.utils.ClassUtils.getOrCreateInterface(ClassUtils.java:182) > at > org.apache.servicecomb.core.definition.schema.AbstractSchemaFactory.generateSwagger(AbstractSchemaFactory.java:112) > at > org.apache.servicecomb.core.definition.schema.ProducerSchemaFactory.createSchema(ProducerSchemaFactory.java:110) > at > org.apache.servicecomb.core.definition.schema.ProducerSchemaFactory.createSchema(ProducerSchemaFactory.java:47) > at > org.apache.servicecomb.core.definition.schema.AbstractSchemaFactory.getOrCreateSchema(AbstractSchemaFactory.java:65) > at > org.apache.servicecomb.core.definition.schema.ProducerSchemaFactory.getOrCreateProducerSchema(ProducerSchemaFactory.java:80) > at > org.apache.servicecomb.provider.rest.common.RestProducerProvider.init(RestProducerProvider.java:48) > at > org.apache.servicecomb.core.provider.producer.ProducerProviderManager.init(ProducerProviderManager.java:45) > at > org.apache.servicecomb.core.CseApplicationListener.onApplicationEvent(CseApplicationListener.java:118) > at > org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166) > at > org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383) > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:337) > at > org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:882) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) > at > org.apache.servicecomb.foundation.common.utils.BeanUtils.init(BeanUtils.java:37) > at > org.apache.servicecomb.foundation.common.utils.BeanUtils.init(BeanUtils.java:33) > at io.demo.Application.main(Application.java:40) > > org.apache.servicecomb.core.CseApplicationListener.onApplicationEvent(CseApplicationListener.java:145) -- This message was sent by Atlassian JIRA (v7.6.3#76005)