[
https://issues.apache.org/jira/browse/SCB-562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16492343#comment-16492343
]
ASF GitHub Bot commented on SCB-562:
------------------------------------
zhengyangyong opened a new pull request #729: [SCB-562] fix NPE when had empty
interface (not have any method)
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/729
Signed-off-by: zhengyangyong <[email protected]>
Follow this checklist to help us incorporate your contribution quickly and
easily:
- [ ] Make sure there is a [JIRA
issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually
before you start working on it). Trivial changes like typos do not require a
JIRA issue. Your pull request should address just this issue, without pulling
in other changes.
- [ ] Each commit in the pull request should have a meaningful subject line
and body.
- [ ] Format the pull request title like `[SCB-XXX] Fixes bug in
ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA
issue.
- [ ] Write a pull request description that is detailed enough to
understand what the pull request does, how, and why.
- [ ] Run `mvn clean install` to make sure basic checks pass. A more
thorough check will be performed on your pull request automatically.
- [ ] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
---
do not init operations if there are no path (empty interface) in
swagger(prevent NPE)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> 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
> Assignee: 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)