@Override public XQPreparedExpression createResource(Object... params) { String resourceLocation = resourceLocation(params); LOG.debug("Create new template for {}", resourceLocation); try { InputStream stream = resourceContent(params).getInputStream(); return getConnection().prepareExpression(stream); } catch (Exception e) { throw new IllegalArgumentException("The resource " + resourceLocation + " is not valid", e); } }
/** * This method had to be overridden because {@link XQPreparedExpression} objects * are not thread-safe, thus an additional replication step is necessary. */ @Override protected XQPreparedExpression resource(Object... params) throws Exception { XQPreparedExpression expression = super.resource(params); return getConnection().copyPreparedExpression(expression); }