You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "yangyongzheng (JIRA)" <ji...@apache.org> on 2018/05/09 00:59:00 UTC
[jira] [Commented] (SCB-562) Java Chassis will throw NPE when
producer impl do not contain any method
[ 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)