我正在使用 Java 開發一個簡單的代碼算法,我想知道在計算時間復雜度? :之間可能存在差異。if-else我認為它們都具有相同的時間復雜度,但我不確定......例如:if (number == num) { count += 1;}else { count -= 1;}和count += (number == num) ? 1 : -1;如果你能告訴我它們之間的區別,真的謝謝你:-)我有一個非常簡單的駱駝路線,除了使用的 xquery,這就是為什么我將它提取到一個單獨的文件中。在我的駱駝路線中,我使用 Transformer EIP 調用 xquery:.transform().xquery("resource:classpath:xquery/myCoolXQuery.xquery",String.class)XQuery 本身工作正常,但由于一些功能更改,我現在想導入另一個 XQuery 模塊,我想將其用作具有一些幫助功能的“庫”,因為我有很多可以使用它們的 XQuery 文件。所以我在 XQuery 中所做的是:xquery version "3.0" encoding "UTF-8";declare namespace fn = 'http://www.w3.org/2005/xpath-functions';(: Library of really helpful functions :)import module namespace lib = "http://handofnod.com/xquery-lib" at "classpath:xquery/lib.xquery";題:如何配置StandardModuleURIResolver能夠從類路徑加載導入模塊的 Apache Camel ?到目前為止的調查/問題NullpointerException不幸的是,apache camel 現在在以下位置拋出一個StandardModuleURIResolver:if ("classpath".equals(absoluteURI.getScheme())) { String path = absoluteURI.getPath(); is = this.config.getDynamicLoader().getResourceAsStream(path);那是因為absoluteURI(是"classpath:xquery/lib.xquery")無法正確轉換并且變量path是NULL(這幾乎是代碼味道,但現在不是我的事)。absoluteURI無法轉換,因為中net.sf.saxon.query.XQueryParser沒有設置值this.env.getStaticBaseURI()。所以我在調試期間嘗試將staticBaseURI值設置為,classpath但隨后StandardModuleURIResolver也返回一個absoluteURI具有NULL值的值,getPath()從而導致相同的NullPointerException.所以現在我不知道如何將Transformer-EIP與 XQuery 一起使用,XQuery 使用模塊導入來實現某些輔助函數。另一種可能的解決方案另一種可能的解決方案是不使用 Apache Camel 中實現的 Transformer-EIP,而是使用 ,ToDefinition因為可以通過 URL 參數定義自定義Saxon 配置,該參數可以使用覆蓋ModuleURIResolver,這樣就沒有問題了。另外,我當然可以使用自定義Processor實現來實現我想要的,但這不是使用為 EIP 提供實現的 Camel 的重點。如果我可以在我的 XQuery 中使用帶有模塊導入的Transformer-EIP ,那就太好了。項目設置是:彈簧引導 2.1.0.RELEASE阿帕奇駱駝 2.22.2使用 Maven 構建最后一個問題誰能幫我嗎?
1 回答

慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
由于我的問題似乎沒有答案,因此我進行了越來越深入的調試,實際上似乎不可能以任何方式使用 XQuery 配置 Transformer-EIP。此外,我無法找到任何方法從類路徑加載導入的 xquery 模塊,所以我更改了代碼,現在我通過 XQueryEndpoint 調用我的 xquery,它提供對自定義配置的支持:
.to("xquery:/xquery/myCoolXQuery.xquery?configuration=#saxonConfig&resultsFormat=String")
這樣我的路線就可以了。但是如果能夠使用 就好了,transform()
因為代碼會更容易理解。
添加回答
舉報
0/150
提交
取消