しかも、オブジェクトリファレンスは引き続き参照可能で、リクエストも受け付けるが、返り値オブジェクトが正常に返ってきません。
| <発生環境> | |
|---|---|
| OS | Solaris2.6 |
| JDK | JRE1.3 |
| Vender | Sun |
- <A9-1>
- RMIサーバオブジェクトのRMIインタフェース実装部を全てtry節で囲み、Throwableをcatchしてエラーハンドリング(この場合はSystem.exit)するようにすることで解決できます。
しかも、オブジェクトリファレンスは引き続き参照可能で、リクエストも受け付けるが、返り値オブジェクトが正常に返ってきません。
| <発生環境> | |
|---|---|
| OS | Solaris2.6 |
| JDK | JRE1.3 |
| Vender | Sun |
しかし、ローカルのプログラムのヒープ使用状況には問題はありませんでした。
| <発生環境> | |
|---|---|
| OS | RedHatLinux6.2 SMP |
| JDK | JDK1.3 |
| Vender | Sun |
| <発生環境> | |
|---|---|
| OS | RedHatLinux6.1/6.2 Solaris7 |
| JDK | JDK1.3 |
| Vender | Sun |
| <発生環境> | |
|---|---|
| OS | RedHatLinux6.1/6.2 |
| JDK | JDK1.2/JDK1.3 |
| Vender | Sun/IBM(1.3のみ) |
| <発生環境> | |
|---|---|
| OS | Windows2000 |
| JDK | JDK1.3.1 |
| Vender | Sun |
RMI通信時に、jarファイルの中に該当クラスが含まれているにもかかわらず、クラスローディングに失敗し、java.rmi.UnmarshalExceptionが発生してしまいます。
| <発生環境> | |
|---|---|
| OS | RedHatLinux6.2 SMP |
| JDK | JDK1.3.0 |
| Vender | Sun |
以下の例外が発生しました。
java.net.MalformedURLException: invalid URL string:
rmi://192.0.0.1:21000/Some Host
at java.rmi.Naming.parseURL(Naming.java:266)
at java.rmi.Naming.bind(Naming.java:104)
- 中略 -
Caused by: java.net.URISyntaxException:
Illegal character in path at index 26:
rmi://192.0.0.1:21000/Some Host
at java.net.URI$Parser.fail(URI.java:2701)
- 後略 -| <発生環境> | |
|---|---|
| OS | Solaris8 |
| JDK | JDK1.4 |
| Vender | Sun |
JMSのメソッドを呼び出すたびに、GCが実行されてしまいますが、JMSの呼び出し時には、必ずGCが発生するのでしょうか。
また、Javaの起動引数に "-XX:+DisableExplicitGC" オプションをつけてフルGC(ガベージコレクション)が発生しないようにすると、JMSでメモリリークが発生してしまわないでしょうか。
| <発生環境> | |
|---|---|
| JDK | Java 1.5.x |
| AP | JBoss3.2.7 |
RMI通信を行っているアプリケーションに対して、
RMIServerSocketFactoryとRMIClientSocketFactoryをオーバライドしたクラスを作成し、
SSL通信を行えるようにしたところ、
Memoryが大量に消費され、アプリケーションが停止します。
| <発生環境> | |
|---|---|
| OS | Any |
| JDK | JDK5.0以降 |
| Vender | Sun |
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + port;
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final SampleServerSocketFactory other =
(SampleServerSocketFactory) obj;
if (port != other.port)
return false;
return true;
}注意:本文書の内容に誤りがあり、またこの文書によって不利益を被っても、
Acroquest Technology 株式会社は一切関知いたしません。