You're right, since findstr doesn't find your jsessionid, it returns everything
matches_regex is CPU expensive it may be best to try something like this:
when HTTP_REQUEST {
if { ([HTTP::uri] contains "/mosAppWar") and ([HTTP::uri] contains "jsessionid") } {
set jsess [findstr [HTTP::uri] "jsessionid" 11 ";"]
if { $jsess ne "" } {
log local0. "creating persistency with $jsess"
persist uie $jsess
}
pool Application_Pool
log local0. "QA2 Server: [LB::server addr] jsessionid $jsess Query: [HTTP::uri][HTTP::query]"
return
} else {
pool Static_Pool
return
}
}