Reputation: 29
I want to share some data between 2 simulation and for that I have a designed a custom feeder using queue.
.exec { session =>
val writer1 = new PrintWriter(new FileOutputStream(outputFilePath, true))
writer1.write(session("AccountId").as[String] + "," + session("uuid").as[String] + "\n")
writer1.close();
session
}
.exec {
session =>
DequeHolder.DataDeque.offer(Array(session("AccountId").as[String][0],session("uuid").as[String][1]))
session
}
}
}
class DataFeeder extends Feeder[String] {
override def hasNext: Boolean = DequeHolder.DataDeque.size() > 0
override def next(): Map[String, Array[String]] = Map("data" -> DequeHolder.DataDeque.poll())
}
this is giving me compilation issue at line DequeHolder.DataDeque.offer(Array(session("AccountId").as[String][0],session("uuid").as[String][1]))
Could someone please help where exactly I am commiting mistake.
Error: io.gatling.commons.util.TypeCaster[String], evidence$2: scala.reflect.ClassTag[String], evidence$3: io.gatling.commons.NotNothing[String]): String does not take type parameters.
Upvotes: 0
Views: 787
Reputation: 6623
Feeder[T]
is an alias for Iterator[Map[String, T]]
.
So override def next(): Map[String, Array[String]]
is wrong for Feeder[String]
.
Upvotes: 1