2016-11-22 4 views
1

PubSub 자바 API는 내가이 예외를받을 내 PubSub 인스턴스</p> <pre><code>PubSub pubsub = PubSubOptions.getDefaultInstance().getService(); </code></pre> <p>을 얻을 때 제한된 인 SelectorProvider

<dependency> 
    <groupId>com.google.cloud</groupId> 
    <artifactId>google-cloud-pubsub</artifactId> 
    <version>0.6.0</version> 
</dependency> 

을 다음 내가 추가 한 나의 AppEngine에에서 PubSub를 사용하려고합니다 :

java.lang.NoClassDefFoundError: java.nio.channels.spi.SelectorProvider is a restricted class. Please see the Google App Engine developer's guide for more details. 
at com.google.apphosting.runtime.security.shared.stub.java.nio.channels.spi.SelectorProvider.<clinit>(SelectorProvider.java) 
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:59) 
at io.grpc.netty.Utils$DefaultEventLoopGroupResource.create(Utils.java:187) 
at io.grpc.netty.Utils$DefaultEventLoopGroupResource.create(Utils.java:171) 
at io.grpc.internal.SharedResourceHolder.getInternal(SharedResourceHolder.java:124) 
at io.grpc.internal.SharedResourceHolder.get(SharedResourceHolder.java:94) 
at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.<init>(NettyChannelBuilder.java:311) 
at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.<init>(NettyChannelBuilder.java:280) 
at io.grpc.netty.NettyChannelBuilder.buildTransportFactory(NettyChannelBuilder.java:230) 
at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:239) 
at com.google.api.gax.grpc.InstantiatingChannelProvider.createChannel(InstantiatingChannelProvider.java:120) 
at com.google.api.gax.grpc.InstantiatingChannelProvider.getChannel(InstantiatingChannelProvider.java:107) 
at com.google.api.gax.grpc.ProviderManager.getChannel(ProviderManager.java:107) 
at com.google.api.gax.grpc.ChannelAndExecutor.create(ChannelAndExecutor.java:68) 
at com.google.api.gax.grpc.ServiceApiSettings.getChannelAndExecutor(ServiceApiSettings.java:82) 
at com.google.cloud.pubsub.spi.v1.PublisherApi.<init>(PublisherApi.java:203) 
at com.google.cloud.pubsub.spi.v1.PublisherApi.create(PublisherApi.java:194) 
at com.google.cloud.pubsub.spi.DefaultPubSubRpc.<init>(DefaultPubSubRpc.java:168) 
at com.google.cloud.pubsub.PubSubOptions$DefaultPubSubRpcFactory.create(PubSubOptions.java:69) 
at com.google.cloud.pubsub.PubSubOptions$DefaultPubSubRpcFactory.create(PubSubOptions.java:63) 
at com.google.cloud.ServiceOptions.getRpc(ServiceOptions.java:478) 
at com.google.cloud.pubsub.PubSubImpl.<init>(PubSubImpl.java:115) 
at com.google.cloud.pubsub.PubSubOptions$DefaultPubSubFactory.create(PubSubOptions.java:44) 
at com.google.cloud.pubsub.PubSubOptions$DefaultPubSubFactory.create(PubSubOptions.java:39) 
at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:465) 

나는 GAE가 java.nio 코드를 허용하지 않지만, 나는 이해하지 못한다는 것을 알고있다. Google이 자체 시스템에서 실행되지 않는 PubSub API 라이브러리를 Google에 제공하는 방법

내가 누락 된 항목이 있습니까? 일부 JAR 불일치? 의심스러운 JAR 충돌을 발견하지 못했습니다. 어떻게 작동시킬 수 있습니까?

답변

0

로버트, 신고 해 주셔서 감사합니다. 문제 해결. 그동안 Google API Client Libraries for Java을 사용하십시오. 구체적으로 Pub/Sub client에 대한 링크가 있습니다.

+0

네, 저에게 도움이됩니다. 감사합니다! 사실 나는 새 라이브러리를 옮기기 전에 이미이 라이브러리를 사용하고있었습니다. –

+0

이 문제는 어딘가에서보고되었으므로 최신 PubSub 라이브러리를 AE에서 사용할 수있을 때 추적하고 알림을받을 수 있습니까? –