Derzeit Gridgain Ich verwende/Ignite in meinem Projekt und mit einigen Problemen konfrontiert:Ignite Anmerkungen in Scala.Dynamic
Wie Sie vielleicht wissen, kann jede Gridgain serialisierbares Objekt in Cache halten, wie folgt aus:
val mycache = ignite.getOrCreateCache[String,MyClass]("MyName")
Es bedeutet, dass wir unsere Klasse definieren und mit der dynamischen Eigenschaft erweitern können - das ist in Ordnung.
Wenn wir setzen Ignite-Annotation (@QuerySqlField) bei bestimmten Klasse-Feld - Ignite SQL-Abfragen mit Ihren Klassen wie diese verwenden: meine Frage
val sql = select * from MyClass
mycache.query(new SqlFieldsQuers(sql))
Und jetzt: Wie ich Ignite einstellen -Annamen mit dynamischen Feldern in dynamischen Klassen in Scala? Ich habe meine dynamische Klassendefinition angebracht und hoffen auf etwas Hilfe ..
class DynamicType extends Dynamic with Serializable
{
private val fields = mutable.Map.empty[String,Any].withDefault{key=>throw new NoSuchFieldError(key)}
def selectDynamic(key: String) = fields(key)
def updateDynamic(key: String)(value: Any) = fields(key) = value
def applyDynamic(key: String)(args: Any*) = fields(key)
}
Im Allgemeinen ist das SQL-Schema in Ignite derzeit statisch. Also bezweifle ich, dass es überhaupt mit dynamischen Objekten arbeiten kann. –
@ValentinKulichenko Es wird im Falle der programmatischen Erstellung von Cache/Schema. –