En mi modelo anylogic, quiero consultar algunos datos de la base de datos de construcción. Dentro de una función en un tipo de agente, eso no es un problema. Para una mejor encapsulación, quiero poner mi código en una clase.

Ya busqué a AnyLogic-Ayuda, pero no pude encontrar la forma correcta de acceder a la base de datos desde una clase.

Los ejemplos proporcionados solo funcionan dentro del tipo de agente (https://help.anylogic.com/nav/0_15_10), ya que la función es proporcionada por las utilidades de clase abstractas que cada agente se hereda de (https://help.anylogic.com/topic/com.anylogic.help/html/javadoc/com/anylogic/engine/utilities.html).

Tuple item = selectFrom( team_knowledge ).
                        where( team_knowledge.idteam_social.eq( idmember ) ).
                        where( team_knowledge.idteam_technology.eq( idtechnology ) ).
                        firstResult(team_knowledge.id, team_knowledge.idteam_social,
                            team_knowledge.idteam_technology, team_knowledge.is_skill,
                            team_knowledge.necessary_skill);

Error: The method selectFrom(Qteam_knowledge) is undefined for the type TeamKnowledgeModel

¿Puedes nombrar la clase correcta para usar para este problema?

0
JoKo 25 jun. 2019 a las 21:55

1 respuesta

La mejor respuesta

Solo haga que la clase acepte una instancia de cualquier Agent en el modelo dentro de su constructor. Luego tiene que usar eso para hacer cualquier consulta (por ejemplo, agent.selectFrom).

Es decir, la clase almacena una instancia de un Agent que delega consultas.

0
Stuart Rossiter 26 jun. 2019 a las 08:18