問題タブ [hessian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - spring dmを使用してkarafでヘシアンサービスを構成する
環境で:
- カラフ 3.0.1
- 春 3.2.4
- ヘシアン 4.0.33
既に CXF を介してサービスを公開しており、現在、同じサービスを Hessian Service として公開しようとしています。
war や web.xml はなく、プレーン Bean + pax-http だけで、次のことを試しました。
アイデアは、ターゲットが HessianServiceExporter であるサーブレット (HttpRequestHandlerServlet) を登録することですが、WebApplicationContext が見つかりません: ContextLoaderListener が登録されていませんか? .
スプリング コードをトレースしたところ、内部の突堤がサーブレットを認識し、その init メソッドを呼び出しています。
スプリング WebApplicationContext がなく、ターゲット プロパティを inyected できないため、ここに問題があります。
何か不足していますか?または、このように機能させることはできません。
回避策として、サーブレットを独自の実装 (setTarget など) で拡張することを検討していますが、それはしたくありません。
アップデート
独自の HttpContext を作成して追加しようとした後、まだ何かが欠けています:
独自の HttpContext を実装しました。
豆を追加しました
サービス:
最後にサービスとしてのサーブレット:
init メソッドは WebApplicationContext を探しているので、GenericWebApplicationContext Bean を宣言して明示する必要があるように見えますが、この Bean を OSGi に必要な HttpContext に「結合」する方法がわかりません。
java - シリアル化ツールは、逆シリアル化中に不明なフィールドをどのようにスキップしますか?
シリアル化ツール (つまり、ヘシアン) は、異なるバージョンのクラスを同じものでどのように逆シリアル化しserialVersionUID
ますか? ほとんどの場合、不明な (クラス ローダーには見つからない) フィールドをスキップして、互換性を維持できます。しかし前回、新しいフィールド を追加して、Map<String, Object>
未知のオブジェクトをマップに追加しようとしたところ、 がスローされましたClassNotFoundException
。
- 他のマップのようにスキップできないのはなぜですか?
- ツールの実装またはシリアル化メカニズムに関連する問題ですか?
java - Hessian経由でPHPからJavaにファイルを送信するには?
PHP から Java への RPC を実行する Hessian を評価しています。
Java は、PHP 用のヘッセ行列サービス (Spring 経由) を公開するバックエンド サーバーです。
(はい、転送(POST)ファイルに最新/標準のRESTスタイルがあることは知っていますが、ヘシアンはより効率的で、解析する必要がなく、Springによって簡単に公開できます)
単純なメッセージの受け渡しは問題ありません。問題の 1 つは、PHP から Java にファイルをアップロードする正しい方法がわからないことです。
Java 側は単純です。
PHP側(最初の試行):
そしてJavaサーバーは次のように報告します:
PHP を (2 回目の試行) に変更した場合:
Java 側のレポート:
それを解決する方法? ありがとう !
環境:
- PHP の Hessian : 2.0.3
java - @Autowire アノテーションを Hessian Web サービスで動作させるにはどうすればよいですか? (セッターオートワイヤーは正常に動作します)
春のプロジェクトで Hessian Web サービス (userMgr) を使用しています。私のクライアント (UserProfileHelperImpl) では、Spring 構成はセッターの自動配線で動作しますが、@Autowire アノテーションでは動作しません。@Autowire で同じことを得るにはどうすればよいですか? ありがとう。
web.xml
applicationContext.xml
applicationContext-service.xml
applicationContext-business.xml
UserProfileHelper.java
UserProfileHelperImpl.java
UserMgr.java
hessian - ヘシアン スプリング構成
この質問は基本的なことのように思えるかもしれませんが、私はそれに苦労してきました。助けていただければ幸いです。serviceDao が null を返す DAO を使用するように hessain を構成するにはどうすればよいですか。以下は私のスニペットコードです。.......
java - Apache Cayenne ROP: クライアント接続がタイムアウトしたことを検出する方法はありますか?
Apache Cayenne Remote Object Persistence フレームワークを使用してデータにアクセスして保存するリッチ クライアント アプリケーションがあります。これまでのところ、接続タイムアウトを検出して処理する適切な方法を見つけることができませんでした。MissingSessionException
セッションがタイムアウトした後にアクションが試行されると、クライアントとサーバーの両方でAがスローされますが、クライアント側ではこの例外がキャッチされ、呼び出し元に伝播することなくスタックトレースがコンソールに出力されます。
ユーザーに再接続を促すことができるように、接続が切断されたことを検出する簡単な方法はありますか?
ObjectContext
関連して、接続を再確立できる場合、使用中の既存のクライアントオブジェクトはどうなりますか? PersistentObject
それらのコンテキストで以前に作成されたコミットされていないは永久に失われますか?
編集: これは、 Apache Cayenne ROP サーバーの「リクエストに関連付けられたセッションがありません」と同じ問題ではありません。Tomcat 7 で
Edit2: 私が考えることができる唯一の (ハッキーな) 解決策は、キープアライブ スレッドを実際に実行して、低遅延のクエリを Cayenne に定期的に送信し、ROP セッションをアクティブに保ち、アプリケーション アクティビティを個別に追跡し、ユーザーにパスワードの入力を促すことです。一定時間活動が無かった場合。このようなアプローチで私が目にする問題は、アクティビティが見逃される可能性がある多くの方法があること、アプリケーションが実際にはタイムアウトしていないこと、およびセッションがタイムアウトする必要があるという根本的な問題に実際に対処していないことです。理由。
Edit3: この質問も Cayenne ユーザー リストに送信しました。ディスカッションはこちらでご覧いただけます。
java - Python クライアントと連携する黄麻布の Java サーバー
バーラップJavaサーバーをPythonクライアントに接続しようとしていますが、Pythonでバーラップを使用する方法、またはPythonに実装されているかどうかに関する詳細はまったく見つかりません。何か案は?バーラップ Python クライアントを構築できますか? リソースはありますか?hessian python クライアントを使用すると、java 黄麻布サーバーで動作しますか?
hessian - spring-cloud-sleut トレース ヘシアン クライアント
spring-cloud-sleuth-core から restTemplateInterceptor と feignRequestInterceptor を見つけましたが、私たちのプロジェクトは hessian connect マイクロサービスを使用しており、spring-cloud-sleuth が hessian クライアントに注入できないことがわかりました。spring-cloud-sleuth を hessian で使用する方法をコードを共有できますか? ありがとう〜