PubNub java でPNBadRequestCategory

pubnub-gson-4.19.0-all.jarでWebsocket的な高速のデータ取得(subscription)をやろうとした

subscriptionだけならPublishKeyはなくても良いとのこと

テストコード

PNConfiguration pnConfiguration = new PNConfiguration();
//pnConfiguration.setLogVerbosity(PNLogVerbosity.BODY);

pnConfiguration.setSubscribeKey(“sub-c-e12e9174-dd60-11e6-806b-02ee2ddab7fe”);
//pnConfiguration.setPublishKey(“demo”);

pnConfiguration.setReconnectionPolicy(PNReconnectionPolicy.LINEAR);
//pnConfiguration.setSecure(false);

PubNub pubnub = new PubNub(pnConfiguration);

 

これでpubnubにchannelをexcuteしたらできる

だけどなぜかError=PNConnectedCategoryで動かない

正しいパターン
statusPNStatus(category=PNConnectedCategory, errorData=null, error=false, statusCode=200, operation=PNSubscribeOperation, tlsEnabled=true, uuid=null, authKey=null, origin=ps.pndsn.com, clientRequest=Request{method=GET, url=https://ps.pndsn.com/v2/subscribe/sub-c-52a9ab50-291b-11e5-baaa-0619f8945a4f/lightning_ticker_BTC_JPY/0?requestid=5fd2956a-3935-4f3d-85f1-da2fb9c9fb0f&heartbeat=300&tt=0&pnsdk=PubNub-Java-Unified/4.19.0&uuid=pn-acc4761e-6587-4195-931b-dff944ddf1cc, tag=null}, affectedChannels=[lightning_ticker_BTC_JPY], affectedChannelGroups=[], executedEndpoint=null)

正しくないパターン
statusPNStatus(category=PNBadRequestCategory, errorData=PNErrorData(information=null, throwable=com.pubnub.api.PubNubException), error=true, statusCode=0, operation=PNSubscribeOperation, tlsEnabled=false, uuid=null, authKey=null, origin=null, clientRequest=null, affectedChannels=[lightning_ticker_BTC_JPY], affectedChannelGroups=[], executedEndpoint=com.pubnub.api.endpoints.pubsub.Subscribe@65a58842)

別環境では動いたからライブラリが干渉してたっぽい

具体的にはgson-2.3.1.jarをはずすと動いた。

If you catch the error “PNBadRequestCategory” in pubnub-gson-4.19.0-all.jar  , just remove gson library (gson-2.3.1.jar etc…)

ってことだ