0
私はkaraf内4.1.0-SNAPSHOTをdatastax java-driver-mappingを使用して、大きな問題を抱えている、私はこのケースではカサンドラエンティティから注釈@Tableを取得する必要があります:Karaf 4.1 - カサンドラエンティティの注釈にはApache AriesのプロキシからのClassCastException
@Table(name = "clients")
public class Client implements Serializable {
@PartitionKey
@Column(name = "client_id")
private String clientId;
@Column(name = "client_secret")
private String clientSecret;
//getters and setters ...
}
@Override
public void save(Serializable obj, Class clazz) {
System.out.println(((Table)clazz.getAnnotations()[0]).name());
}
私はのSystem.outの行にこのエラーが表示されます。
このエンティティは、私は私のパーシスタンス・バンドルでこれを行うにしようとすると、モデルのバンドルに、私は、サービスのバンドルと持続性への1つを持っています.println:
java.lang.ClassCastException: com.sun.proxy.$Proxy110 cannot be cast to com.datastax.driver.mapping.annotations.Table
at io.twim.cassandra.TwimCassandraImpl.save(TwimCassandraImpl.java:159) [216:twim-cassandra:1.0.0.SNAPSHOT]
at Proxyc0a03eb5_6454_4ea2_a12f_daddf586d502.save(Unknown Source) [?:?]
at io.twim.core.users.TwimServiceUserImpl.saveApplicationClient(TwimServiceUserImpl.java:50) [218:twim-core:1.0.0.SNAPSHOT]
at Proxy60a7b95f_6d2d_4487_bd18_dfd7c359a958.saveApplicationClient(Unknown Source) [?:?]
at io.twim.rest.register.ClientRegistrationImpl.init(ClientRegistrationImpl.java:69) [223:twim-rest:1.0.0.SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:?]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299) [12:org.apache.aries.blueprint.core:1.7.0]
この問題を解決するにはどうすればよいですか?誰もが考えている?
EDITED任意注釈が実行時にプロキシとして表されているJavaで
私はデバッガからイメージを追加しましたが、あなたのアドバイスはnull値を取得しますが、注釈メソッドを取得した場合、それはProxy型の注釈を表示します。 – christmo