發表文章

Spring boot 2 多個Line Messaging API Channles 使用同一個Webhook URL

無法查看此摘要。請 按這裡查看文章。

解決 jsonrpc4j error code -32602 method parameters invalid 的錯誤

圖片
使用 briandilley/jsonrpc4j 時,server response 可能遇到這個錯誤:     "error": {         "code": -32602,         "message": "method parameters invalid"     } jsonrpc4j 會分析 input params 與 java method params 是不是一致,它會檢查 params 數量、名稱,如果沒有 mapping 就拋出錯誤了。 我們可以從 com.googlecode.jsonrpc4j.JsonRpcBasicServer Class 查看到,裡面的 private AMethodWithItsArgs findBestMethodByParamsNode(Set<Method> methods, JsonNode paramsNode) 就是在處理這塊,視 input 資料結構分別呼叫 findBestMethodUsingParamIndexes 或 findBestMethodUsingParamNames 處理。 接下來看 findBestMethodUsingParamNames 從這裡可以發現 jsonrpc4j 會檢查 params size是否一致、是否允許 allowExtraParams 與 allowLessParams。 解決方法: 若使用 spring boot 整合 jsonrpc4j,只要在 AutoJsonRpcServiceImplExporter 之處增加設定即可,例如: @Bean     public static AutoJsonRpcServiceImplExporter autoJsonRpcServiceImplExporter() {         AutoJsonRpcServiceImplExporter exp = new AutoJsonRpcServiceImplExporter();         exp.setAllowExtraParams(true);         exp.setAllowLessParams(

java.lang.OutOfMemoryError: Java heap space type Exception report problem

java預設的heap space只有128mb,導致web服務產生錯誤。 解決方法(ubuntu): 新增 /usr/share/tomcat7/bin/setenv.sh檔案,內容視情況調整, 範例:JAVA_OPTS="-Xms256M -Xmx768M" chmod 755 setenv.sh 其他資料可以參考: /usr/share/tomcat7/bin/catalina.sh 2016/12/14補充 也可以修改此檔/etc/default/tomcat8 JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx768m -XX:+UseConcMarkSweepGC" reference How to fix out of memory errors by increasing available memory https://confluence.atlassian.com/confkb/how-to-fix-out-of-memory-errors-by-increasing-available-memory-154071.html Tomcat 產生OutOfMemoryError http://blog.xuite.net/keanuhome/blog/56035165-Tomcat+%E7%94%A2%E7%94%9FOutOfMemoryError

vmware fusion自訂network adapter的DHCP設定

vmware fusion自訂network adapter的DHCP設定 VMware Fusion 6.x Professional, Fusion 7.x Pro and Fusion 8.x Pro includes a network editor that can be used to make the required changes. To access the network editor:     Click VMware Fusion in the menu bar.     Click Preferences.     Click Network.     Click the + sign located at the bottom right to add a custom network connection. Reference Modifying the DHCP settings of vmnet1 and vmnet8 in Fusion (1026510) https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1026510

JavaMail透過Gmail寄信發生AuthenticationFailedException錯誤

狀況 JavaMail透過Gmail寄信發生AuthenticationFailedException錯誤 java產生的exception範例如下: javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvL 534-5.7.14 534-5.7.14  Please log in via your web browser and 534-5.7.14 then try again. 534-5.7.14  Learn more at 534 5.7.14  https://support.google.com/mail/answer/78754 gmail也寄信警告通知: Someone just tried to sign in to your Google Account demo@demo.com from an app that doesn't meet modern security standards. 原因 因為Gmail已經改變安全政策建議使用OAuth2方式取得權限,所以JavaMail的登入方式被拒。 解決方法 至google網站修改權限,將Access for less secure apps設為開啟(Turn on) https://www.google.com/settings/security/lesssecureapps reference http://www.oracle.com/technetwork/java/javamail/faq-135477.html#gmailauth

google map api

Google Developers Console https://console.developers.google.com Maps JavaScript API - Geocoding Service https://developers.google.com/maps/documentation/javascript/geocoding Web services - Geocoding API https://developers.google.com/maps/documentation/geocoding/intro Google 地圖 Web 服務的用戶端程式庫 https://developers.google.com/maps/web-services/client-library Google Maps API地址轉換 http://blog.darkthread.net/post-2012-06-15-geocoding-api.aspx