JESS: Jess in a multithreaded environment

2005-10-24 Thread Florian Fischer
Hello, I am using Jess in a multithreaded environment. My facts are mostly Java objects asserted with deffact, and the right side of rules is usually a single call to a Java method that might add/remove facts. I need to understand how Jess works in a multithreaded environment. I seem to

Re: JESS: Converting from/to strings

2005-10-24 Thread ejfried
I think Henrique Lopes Cardoso wrote: (defrule r1 ?x - (foo) = (bind ?string (implode$ ?x)) ;; IS THERE A WAY OF DOING THIS? ?x is a jess.Fact object. You can call any of the methods of jess.Fact on it -- including toString() and toStringWithParens(), one of which

Re: JESS: Jess in a multithreaded environment

2005-10-24 Thread ejfried
I think Florian Fischer wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] Hello, I am using Jess in a multithreaded environment... I need to understand how Jess works in a multithreaded environment. Is the following description correct? - One lock is on all the data (facts,

RE: JESS: Jess in a multithreaded environment (Copies of the fact data)

2005-10-24 Thread Jon Weygandt
Ernest, Thanks for your description of locks, the part of values and bindings and fact-slot-value references are of interest. I have 2 cases where rules use the fact-slot-value method, and based upon the original postings multithreaded use case, are these uses thread safe or could the value of

Re: JESS: Jess in a multithreaded environment (Copies of the fact data)

2005-10-24 Thread ejfried
Ultimately, of course, a Fact is an array, with one element for each slot. When you compile a rule, the rule compiler will look up the names of any slots that are mentioned, and it's the index of the slot that gets compiled into the rule. On the other hand, fact-slot-value is a function that has