javax.xml.xquery.XQPreparedExpression.close()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(4.3k)|赞(0)|评价(0)|浏览(135)

本文整理了Java中javax.xml.xquery.XQPreparedExpression.close()方法的一些代码示例,展示了XQPreparedExpression.close()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XQPreparedExpression.close()方法的具体详情如下:
包路径:javax.xml.xquery.XQPreparedExpression
类名称:XQPreparedExpression
方法名:close

XQPreparedExpression.close介绍

[英]Closes the expression object and release all resources associated with this prepared expression. This also closes any result sequences obtained from this expression. Once the expression is closed, all methods on this object other than the close or isClosed will raise exceptions. Calling close on an XQExpression object that is already closed has no effect.
[中]关闭表达式对象并释放与此准备好的表达式关联的所有资源。这也会关闭从此表达式获得的所有结果序列。表达式关闭后,除了closeisClosed之外,此对象上的所有方法都会引发异常。对已关闭的XQExpression对象调用close没有效果。

代码示例

代码示例来源:origin: org.mule.modules/mule-module-xml

  1. @Override
  2. public void destroyObject(Object o) throws Exception
  3. {
  4. ((XQPreparedExpression) o).close();
  5. super.destroyObject(o);
  6. }
  7. }

代码示例来源:origin: spring-projects/spring-integration-extensions

  1. expression.close();
  2. conn.close();
  3. } catch (XQException e) {

代码示例来源:origin: dsukhoroslov/bagri

  1. private long storeXmlDocument(String fileName) throws XQException {
  2. String dName = "..\\..\\etc\\samples\\tpox\\";
  3. String xml;
  4. try {
  5. xml = readTextFile(dName + fileName);
  6. } catch (IOException ex) {
  7. throw new XQException(ex.getMessage());
  8. }
  9. String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" +
  10. "declare variable $sec external;\n\n" +
  11. //"return bgdb:store-document($sec)\n";
  12. "for $id in bgdb:store-document($sec)\n" +
  13. "return $id\n";
  14. XQPreparedExpression xqpe = xqc.prepareExpression(query);
  15. xqpe.bindString(new QName("sec"), xml, xqc.createAtomicType(XQItemType.XQBASETYPE_STRING));
  16. XQSequence xqs = xqpe.executeQuery();
  17. if (xqs.next()) {
  18. long result = xqs.getLong();
  19. xqpe.close();
  20. return result;
  21. } else {
  22. xqpe.close();
  23. throw new XQException("no response from store-document function");
  24. }
  25. }

代码示例来源:origin: dsukhoroslov/bagri

  1. if (xqs.next()) {
  2. long id = xqs.getLong();
  3. xqpe.close();
  4. xqs.close();
  5. return id;
  6. } else {
  7. xqpe.close();
  8. xqs.close();
  9. throw new XQException("no response from store-document function");

代码示例来源:origin: dsukhoroslov/bagri

  1. @Override
  2. public void deleteDocument(String uri) throws XQException {
  3. String query = "declare namespace bgdb=\"http://bagridb.com/bdb\";\n" +
  4. "declare variable $uri external;\n" +
  5. "let $uri := bgdb:remove-document($uri)\n" +
  6. "return $uri\n";
  7. XQPreparedExpression xqpe = xqConn.prepareExpression(query);
  8. xqpe.bindString(new QName("uri"), uri, xqConn.createAtomicType(XQItemType.XQBASETYPE_ANYURI));
  9. XQSequence xqs = xqpe.executeQuery();
  10. String result = null;
  11. try {
  12. if (xqs.next()) {
  13. result = xqs.getAtomicValue();
  14. }
  15. if (!uri.equals(result)) {
  16. throw new XQException("got no result from bgdb:remove-document function");
  17. }
  18. } finally {
  19. xqpe.close();
  20. xqs.close();
  21. }
  22. }

代码示例来源:origin: spring-projects/spring-integration-extensions

  1. try {
  2. if(expression != null) {
  3. expression.close();

代码示例来源:origin: dsukhoroslov/bagri

  1. xqpExp.close();

代码示例来源:origin: dsukhoroslov/bagri

  1. @Override
  2. protected int execQuery(String query, Map<String, Parameter> params) throws XQException {
  3. XQPreparedExpression xqpe = getConnection().prepareExpression(query);
  4. bindParams(params, xqpe);
  5. XQResultSequence xqs = xqpe.executeQuery();
  6. int cnt = 0;
  7. if (fetchSize > 0) {
  8. while (xqs.next() && cnt < fetchSize) {
  9. cnt++;
  10. }
  11. } else {
  12. while (xqs.next()) {
  13. cnt++;
  14. }
  15. }
  16. //xqs.close(); will be closed at next line
  17. xqpe.close();
  18. return cnt;
  19. }

代码示例来源:origin: dsukhoroslov/bagri

  1. @ManagedOperation(description="Parse XQuery. Return array of parameter names, if any")
  2. @ManagedOperationParameters({
  3. @ManagedOperationParameter(name = "query", description = "A query request provided in XQuery syntax"),
  4. @ManagedOperationParameter(name = "props", description = "Query processing properties")})
  5. public String[] parseQuery(String query, Properties props) {
  6. XQPreparedExpression xqpExp = null;
  7. try {
  8. XQStaticContext ctx = xqConn.getStaticContext();
  9. props2Context(schemaManager.getEntity().getProperties(), ctx);
  10. props2Context(props, ctx);
  11. xqpExp = xqConn.prepareExpression(query, ctx);
  12. QName[] vars = xqpExp.getAllExternalVariables();
  13. String[] result = null;
  14. if (vars != null) {
  15. result = new String[vars.length];
  16. for (int i=0; i < vars.length; i++) {
  17. result[i] = vars[i].toString();
  18. }
  19. }
  20. xqpExp.close();
  21. return result;
  22. } catch (XQException ex) {
  23. logger.error("parseQuery.error", ex);
  24. throw new RuntimeException(ex.getMessage());
  25. }
  26. }

代码示例来源:origin: dsukhoroslov/bagri

  1. xqpe.close();
  2. xqs.close();

相关文章