Uploaded image for project: 'Apache ServiceComb'
  1. Apache ServiceComb
  2. SCB-562

Java Chassis will throw NPE when producer impl do not contain any method

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • java-chassis-1.0.0-m1
    • java-chassis-1.0.0-m2
    • Java-Chassis
    • None

    Description

      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)

      Attachments

        Issue Links

          Activity

            People

              zhengyangyong Yangyong Zheng
              zhengyangyong Yangyong Zheng
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: