Spring Boot 1.4.0M3で動作する私のアプリケーションで奇妙な問題に直面しています。Springのキャッシュ実装を使用しています。ここで、プロバイダはRedisです。classCastExceptionは同じオブジェクト私は、データベースとしてのMongoDBを使用していると私はロールのリストが含まれているユーザオブジェクトを持つjava.lang.ClassCastException:DTOObjectをDTOObjectにキャストすることができません
をキャストすることレイジーと役割ロードされたオブジェクトは、内部権限が私の役割DTOは
以下の通りである
@Document
@Data
public class User implements Serializable{
private String passwordResetToken;
private boolean enabled = false;
@DBRef(lazy= true)
private List<Role> roleList;
}
の下のようなオブジェクトが含まれ
私はすべてのロールをロードしている間に私のすべてのロールをロードしています。これは反復的な操作ですから結果をキャッシュし、redisを使用し、
raised java.lang.ClassCastException: com.learning.securedapp.domain.Permission cannot be cast to com.learning.securedapp.domain.Permission
このエラーを解決するにはどうすればよいですか。
私は私のプロジェクトにsource codeを装着していると私は、アプリケーションにローカル環境のログインで複製およびアクセス許可メニューとその後、役割のメニューをクリックし、[役割]メニューINにRoleController.java
の線91でエラーが発生する今をクリック上記のエラーが表示されます。
クラスが異なるクラスローダーによって2回ロードされた場合、jvmはそれらが等しくないとみなします。私はあなたに何が起こっているのかと思います。 – joshiste
warファイルを使用しているようですので、アプリケーションクラスに複数のバージョンの同じクラスがロードされている可能性があります。 – Magnus
私はideから実行していますが、私は1つのバージョンのパーミッションクラスしか見ていません。 – rajadilipkolli