मैं ओरेकल पीएल/एसक्यूएल पैकेज से जावा क्लास में लॉगिन क्रेडेंशियल पास करने वाली कई अलग-अलग (सत्र) वस्तुओं को बना रहा हूं। मैं फिर एक वेक्टर में इस (सत्र) वस्तुओं को स्टोर करता हूं। विचार कनेक्ट करना, आवश्यक चैनल खोलना, चैनल बंद करना और आखिरकार इस वेक्टर से एक विशेष सत्र डिस्कनेक्ट करना है। मैं इसे करने में कामयाब रहा लेकिन यह प्रत्येक कनेक्शन के लिए सिर्फ एक बार काम करता है। मेरा मतलब है, वेक्टर में मेरे पास (सत्र 1, सत्र 2, सत्र 3) है, जब मैं session1.connect() और फिर session1.disconnect() को कॉल करता हूं, मैं सत्र 1.कनेक्ट() को फिर से कॉल करने में सक्षम नहीं हूं, क्योंकि स्पष्ट रूप से यह कोशिश करता है सर्वर से कनेक्ट करने लेकिन फिर मैं मिलता है:जेएसएच एक सत्र का पुन: उपयोग कैसे करें
वेक्टर में संग्रहीत सत्र प्राप्त कर रहा है मैं एक सत्र खोलने के लिए और प्राप्त करें:
INFO: Connecting to sftp.myserver.com port 2122
INFO: Connection established
INFO: Remote version string: SSH-2.0-OpenSSH_4.7
INFO: Local version string: SSH-2.0-JSCH-0.1.48
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128- cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: aes256-ctr is not available.
INFO: aes192-ctr is not available.
INFO: aes256-cbc is not available.
INFO: aes192-cbc is not available.
INFO: arcfour256 is not available.
INFO: CheckKexes: diffie-hellman-group14-sha1
INFO: diffie-hellman-group14-sha1 is not available.
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: kex: server: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange- sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
INFO: kex: server: ssh-rsa,ssh-dss
INFO: kex: server: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr
INFO: kex: server: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr
INFO: kex: server: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
INFO: kex: server: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
INFO: kex: server: none,[email protected]
INFO: kex: server: none,[email protected]
INFO: kex: server:
INFO: kex: server:
INFO: kex: client: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1
INFO: kex: client: ssh-rsa,ssh-dss
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc
INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha1-96,hmac-md5-96
INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha1-96,hmac-md5-96
INFO: kex: client: none
INFO: kex: client: none
INFO: kex: client:
INFO: kex: client:
INFO: kex: server->client aes128-ctr hmac-md5 none
INFO: kex: client->server aes128-ctr hmac-md5 none
INFO: SSH_MSG_KEXDH_INIT sent
INFO: expecting SSH_MSG_KEXDH_REPLY
INFO: ssh_rsa_verify: signature true
WARN: Permanently added 'sftp.myserver.com' (RSA) to the list of known hosts.
INFO: SSH_MSG_NEWKEYS sent
INFO: SSH_MSG_NEWKEYS received
INFO: SSH_MSG_SERVICE_REQUEST sent
INFO: SSH_MSG_SERVICE_ACCEPT received
INFO: Authentications that can continue: publickey,keyboard-interactive,password
INFO: Next authentication method: publickey
INFO: Authentications that can continue: password
INFO: Next authentication method: password
INFO: Authentication succeeded (password).
INFO: Disconnecting from sftp.myserver.com port 2122
सब कुछ ठीक काम किया है और अंत में मैं session1 काट दिया।
फिर जब मैं session1 फिर मैं निम्नलिखित अपवाद उपयोग करने के लिए ...
INFO: Connecting to sftp.myserver.com port 2122
INFO: Connection established
INFO: Remote version string: SSH-2.0-OpenSSH_4.7
INFO: Local version string: SSH-2.0-JSCH-0.1.48
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: aes256-ctr is not available.
INFO: aes192-ctr is not available.
INFO: aes256-cbc is not available.
INFO: aes192-cbc is not available.
INFO: arcfour256 is not available.
INFO: CheckKexes: diffie-hellman-group14-sha1
INFO: diffie-hellman-group14-sha1 is not available.
INFO: SSH_MSG_KEXINIT sent
INFO: Disconnecting from sftp.myserver.com port 2122
com.jcraft.jsch.JSchException: Packet corrupt
at com.jcraft.jsch.Session.start_discard(Session.java:994)
at com.jcraft.jsch.Session.read(Session.java)
at com.jcraft.jsch.Session.connect(Session.java:288)
at com.jcraft.jsch.Session.connect(Session.java:162)
at sftp.make_dir(SFTP:118)
मैं कुछ तरह से मैं जावा वस्तु (सत्र) का पुन: उपयोग करने की कोशिश में गलत कर रहा हूँ कोशिश? आपकी मदद के लिए बहुत बहुत
धन्यवाद
लुका
स्पष्टीकरण @ टुश्मिश के लिए धन्यवाद! समाधान के रूप में चिह्नित करने में देरी के लिए खेद है। उस समय मेरा "वर्कअराउंड" एक ऐरेलिस्ट में संग्रहीत सत्र ऑब्जेक्ट का एक कस्टम पूल बना रहा था और फिर उन्हें निपटाने का ख्याल रखता था। मुझे पता नहीं है कि सुरुचिपूर्ण है, लेकिन मुझे जो करना है उसके लिए काम करना। – Luca