You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by manuelmourato <ma...@gmail.com> on 2017/10/15 21:36:27 UTC

java.lang.InternalError: Malformed class name when using custom class as an indexedType

 Hi there.
 I am trying to create a cache configuration so that I can later use it in
an IgniteContext using the ignite-spark module.
 This is the code I used to create the cache cofig:

   val ignConf:IgniteConfiguration= new IgniteConfiguration()
    case class Sensor_Att(
                           @(QuerySqlField @field)(index = true)  a: String,
                           b: String,
                           c: String,
                           d:List[String],
                           e:List[List[List[String]]],
                            f:String,
                            g:String
                         ) 
    val cacheCfg:CacheConfiguration[String,Sensor_Att]=new
CacheConfiguration[String,Sensor_Att]()
    cacheCfg.setIndexedTypes(classOf[String],classOf[Sensor_Att])
    cacheCfg.setName("test")

 This returns the following error when I run it:

[error] (run-main-0) java.lang.InternalError: Malformed class name
java.lang.InternalError: Malformed class name
	at java.lang.Class.getSimpleName(Class.java:1330)
	at
org.apache.ignite.configuration.CacheConfiguration.processAnnotation(CacheConfiguration.java:2241)
	at
org.apache.ignite.configuration.CacheConfiguration.processAnnotationsInClass(CacheConfiguration.java:2214)
	at
org.apache.ignite.configuration.CacheConfiguration.processKeyAndValueClasses(CacheConfiguration.java:2148)
	at
org.apache.ignite.configuration.CacheConfiguration.setIndexedTypes(CacheConfiguration.java:1771)
	at sensorApp.SensorDataProcessing$.main(SensorDataProcessing.scala:68)
	at sensorApp.SensorDataProcessing.main(SensorDataProcessing.scala)
	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:498)

If I replace the class SensorAtt by String (for example) in cacheCfg, this
error doesn't appear, so I assume it must be an issue with this custom
class.

Any ideas on how I can use a user created class like this when creating a
cache config?

 Thanks.
 Cheers



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/