Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.7
http://mevius.5ch.net/test/read.cgi/tech/1515549964/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
探検
Java入門・初心者質問スレ Part.8
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ eff7-9jZM [175.28.184.198])
2018/06/07(木) 20:17:08.87ID:N8MsK2gr0977デフォルトの名無しさん (アウアウカー Sa55-Ff/H [182.251.113.38])
2019/02/21(木) 20:18:27.97ID:9TadMKc3a978デフォルトの名無しさん (ワッチョイ 7b66-Ff/H [183.77.160.220])
2019/02/21(木) 20:29:20.31ID:bp6QexpC0 ラムダの中が実行されないなら渡し方が違うんでね
979デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/21(木) 20:31:04.28ID:SR0wFFcv0 >>977
private static HttpRequestInitializer setTimeout(final HttpRequestInitializer initializer) {
return request -> {
initializer.initialize(request);
request.setConnectTimeout(60000);
request.setReadTimeout(60000);
};
これでやってみたけどダメでした。
private static HttpRequestInitializer setTimeout(final HttpRequestInitializer initializer) {
return request -> {
initializer.initialize(request);
request.setConnectTimeout(60000);
request.setReadTimeout(60000);
};
これでやってみたけどダメでした。
980デフォルトの名無しさん (ワッチョイ fb02-LfKm [175.134.57.7])
2019/02/21(木) 21:19:34.16ID:Neuw5rL80 >>966
Return と書いてあるシールでも貼っときなさい。
Return と書いてあるシールでも貼っときなさい。
981デフォルトの名無しさん (ワッチョイ f15f-qM0Q [106.72.163.96 [上級国民]])
2019/02/21(木) 21:27:18.64ID:lsmx9sV60 >>980
リターンキーは左下に行くという意味で、戻るわけではありません。
リターンキーは左下に行くという意味で、戻るわけではありません。
982デフォルトの名無しさん (ワッチョイ fb01-YmSR [111.90.27.175])
2019/02/21(木) 23:33:38.23ID:fprmeCB00 >>979
ちょっと覗いてみたけど
NetHttpTransport.buildRequest
・ConnectionFactoryでconnectionを作成
・NetHttpRequestを作成
# setTimeoutがあるけど呼び方がわからぬ
って感じだった
HttpRequestInitializerを呼び出すのはHttpTransportだと思うんだけど
どこで呼び出してるのかよくわからんかった
ConnectionFactoryを指定してみたりとか
final NetHttpTransport HTTP_TRANSPORT = new NetHttpTransport.Builder()
.trustCertificates(GoogleUtils.getCertificateTrustStore())
.setConnectionFactory(new DefaultConnectionFactory() {
@Override
public HttpURLConnection openConnection(URL url) throws IOException {
HttpURLConnection con = super.openConnection(url);
con.setReadTimeout(1000000);
con.setConnectTimeout(1000000);
return con;
}
})
.build();
JVMの設定を入れてみたりとか
System.setProperty("sun.net.client.defaultConnectTimeout", "100000");
System.setProperty("sun.net.client.defaultReadTimeout", "100000");
Javaの起動時にJVMのオプション指定したりとか試してみてはどうだろ
ちょっと覗いてみたけど
NetHttpTransport.buildRequest
・ConnectionFactoryでconnectionを作成
・NetHttpRequestを作成
# setTimeoutがあるけど呼び方がわからぬ
って感じだった
HttpRequestInitializerを呼び出すのはHttpTransportだと思うんだけど
どこで呼び出してるのかよくわからんかった
ConnectionFactoryを指定してみたりとか
final NetHttpTransport HTTP_TRANSPORT = new NetHttpTransport.Builder()
.trustCertificates(GoogleUtils.getCertificateTrustStore())
.setConnectionFactory(new DefaultConnectionFactory() {
@Override
public HttpURLConnection openConnection(URL url) throws IOException {
HttpURLConnection con = super.openConnection(url);
con.setReadTimeout(1000000);
con.setConnectTimeout(1000000);
return con;
}
})
.build();
JVMの設定を入れてみたりとか
System.setProperty("sun.net.client.defaultConnectTimeout", "100000");
System.setProperty("sun.net.client.defaultReadTimeout", "100000");
Javaの起動時にJVMのオプション指定したりとか試してみてはどうだろ
983デフォルトの名無しさん (アウアウカー Sa55-Ff/H [182.251.113.38])
2019/02/22(金) 05:42:45.85ID:p3Rb6+Rra まだ解決してないならタイムアウトしてる部分のソース見るのが一番早いかな
984デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/22(金) 08:02:33.12ID:2zA+k7LF0985デフォルトの名無しさん (ブーイモ MMcb-OG7j [163.49.201.191])
2019/02/22(金) 08:51:44.48ID:Iun5aGGoM986デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/22(金) 12:29:35.43ID:2zA+k7LF0 >>985
エラーはこんなのが出ます。
Exception in thread "main" java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
エラーはこんなのが出ます。
Exception in thread "main" java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
987デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/22(金) 12:34:28.93ID:2zA+k7LF0 これで全部ではなくて、まだもう半分あるんですが、書き込もうとしたらNGワード禁止と言われて書き込めませんでした。
988デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/22(金) 12:45:13.44ID:2zA+k7LF0 一番下から1行ずつ消しながら書き込めないかやってみます。
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
at com.google.api.client.http.javanet.NetHttpResponse.<init>(NetHttpResponse.java:37)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:105)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
at com.google.api.client.http.javanet.NetHttpResponse.<init>(NetHttpResponse.java:37)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:105)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
989デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/22(金) 21:43:24.52ID:2zA+k7LF0 HttpRequestInitializer をググってたらこういうページに行き当たりまして、
https://developers.google.com/api-client-library/java/google-http-java-client/reference/1.19.0/com/google/api/client/http/HttpRequestInitializer
そこに書いてあった DisableTimeout というクラスを組み込んでみたんですが、今のところ動作してるみたいです。
public static Sheets getSheetsService() throws IOException, GeneralSecurityException {
class DisableTimeout implements HttpRequestInitializer {
public void initialize(HttpRequest request) throws IOException {
request.setConnectTimeout(0);
request.setReadTimeout(0);
}
}
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new DisableTimeout())
.setApplicationName(APPLICATION_NAME)
.build();
}
これで35,000行のファイルを2、3秒で読んでしまうので、さすがに嘘だろうと思って、読み込んだ文字列をファイルに書き出してみたんですが、
確かに読めているみたいです。実際のところこれまで何十秒もかかっていた読み込みが、これでそんな短時間になるというのはちょっと理解不能です。
https://developers.google.com/api-client-library/java/google-http-java-client/reference/1.19.0/com/google/api/client/http/HttpRequestInitializer
そこに書いてあった DisableTimeout というクラスを組み込んでみたんですが、今のところ動作してるみたいです。
public static Sheets getSheetsService() throws IOException, GeneralSecurityException {
class DisableTimeout implements HttpRequestInitializer {
public void initialize(HttpRequest request) throws IOException {
request.setConnectTimeout(0);
request.setReadTimeout(0);
}
}
final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, new DisableTimeout())
.setApplicationName(APPLICATION_NAME)
.build();
}
これで35,000行のファイルを2、3秒で読んでしまうので、さすがに嘘だろうと思って、読み込んだ文字列をファイルに書き出してみたんですが、
確かに読めているみたいです。実際のところこれまで何十秒もかかっていた読み込みが、これでそんな短時間になるというのはちょっと理解不能です。
990デフォルトの名無しさん (アウアウカー Sa55-Ff/H [182.251.113.38])
2019/02/22(金) 22:32:47.11ID:p3Rb6+Rra 最初のコードと比べるとHttpRequestInitializerをnewしてるところが違うように見えるな
991デフォルトの名無しさん (ワッチョイ 49e9-dS/9 [222.15.235.177])
2019/02/23(土) 14:33:18.47ID:jlfdOyKu0 えー皆さん大変申し訳ありません。>>989は間違いです。
ついでに最初に出したstackoverflowのコードはちゃんと動きます。
呼び出し側の自分のコードが原因でした。すごく馬鹿な間違いをしてまして、恥ずかしくて書けないような初歩的なミスでした。
ごめんなさい。
ついでに最初に出したstackoverflowのコードはちゃんと動きます。
呼び出し側の自分のコードが原因でした。すごく馬鹿な間違いをしてまして、恥ずかしくて書けないような初歩的なミスでした。
ごめんなさい。
992デフォルトの名無しさん (アウアウカー Sa55-Ff/H [182.251.113.38])
2019/02/23(土) 16:33:08.81ID:aHdAp3lda ワロタw
解決してよかったね
解決してよかったね
993デフォルトの名無しさん (スップ Sd43-D9V0 [49.97.99.99])
2019/02/28(木) 16:44:17.92ID:imPJLa31d Arrays.streamにchar[]が無いのってオラクルの嫌がらせか何かですか?
994デフォルトの名無しさん (ワッチョイ 451f-iopr [220.144.96.191])
2019/03/02(土) 03:41:49.15ID:V02tz52S0 あ、valueOfしてcharsでいいのか
995デフォルトの名無しさん (ワッチョイ 832d-UbqP [101.128.234.140])
2019/03/03(日) 23:52:36.89ID:MEPSmozW0 canvasのハックの仕方を教えてください
判断するための状態を読み取りたいです
判断するための状態を読み取りたいです
996デフォルトの名無しさん (スフッ Sd42-c7yR [49.104.62.162])
2019/03/09(土) 17:27:33.32ID:l8LfQfs2d printwriterで最後の数行が書き込まれなくて困ってたけどclose()する前にflush()したら解決した
こういうこともあるのか
こういうこともあるのか
997デフォルトの名無しさん (ワッチョイ ce01-WpCY [111.90.6.216])
2019/03/09(土) 19:55:15.69ID:ACok0wnJ0998デフォルトの名無しさん (ワッチョイ 3701-pA/6 [60.113.15.161])
2019/03/09(土) 22:17:07.64ID:SBBakmG00 メッセージって業務クラスにベタ書きする?普通
メッセージのプロパティかそれ用のクラスにまとめるでしょ??
業務クラスにべた書きってありえなくないですか?
メッセージのプロパティかそれ用のクラスにまとめるでしょ??
業務クラスにべた書きってありえなくないですか?
999デフォルトの名無しさん (ワッチョイ ce01-WpCY [111.90.6.216])
2019/03/09(土) 23:57:52.40ID:ACok0wnJ0 ケースバイケース
1000デフォルトの名無しさん (ワッチョイ ce01-WpCY [111.90.6.216])
2019/03/09(土) 23:59:48.81ID:ACok0wnJ0 Java入門・初心者質問スレ Part.9
http://mevius.5ch.net/test/read.cgi/tech/1552143555/
http://mevius.5ch.net/test/read.cgi/tech/1552143555/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 275日 3時間 42分 40秒
新しいスレッドを立ててください。
life time: 275日 3時間 42分 40秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
