We are pleased to announce the availability of Servoy 2020.03.1_LTS (release number 3563)
This version is available through the the download site
or through the update site URL: http://download.servoy.com/developer/lts (this wil only work if you come from a 2020.3 or lower release, you can’t “update” from 2020.06)
If you want to use the LTS release enable the above lts update site and disable the ‘latest’ update site so you only update to lts updates.
This includes a bunch of fixes that are also already in 2020.06 and a few more, see 2020.03.1_lts_fixes
this does replace the 2019.03.2 lts release.
For solutions that are already in production it is a good idea to stick to this version if you don’t need to newer features right now.
Thanks for this new Servoy Developer release, very nice. I installed it without problems on macOS 10.14.6. Only annoyance I found so far is when starting the Developer, I get a Servoy Login window where I have to enter Email and Password. I was assuming this is a one time step, but it’s appearing at every Developer startup. Is there a way to avoid this?
Using this Developer (2020.03.1._LTS), creating and deploying/importing a context (WAR file) and a solution (.servoy file) works fine.
Starting the application (with Java Web Start) leads to following error which blocks the application start:
Java Web Start 11.221.2.11 x86_64
Using JRE version 1.8.0_221-b11 Java HotSpot(TM) 64-Bit Server VM
User home directory = /Users/admin
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
CacheEntry[http://localhost:8080/7r/servoy-client/Hades/Hades.jnlp]: updateAvailable=true,lastModified=Thu Aug 06 10:54:54 CEST 2020,length=-1
CacheEntry[http://localhost:8080/7r/servoy-client/Hades/Hades.jnlp]: updateAvailable=false,lastModified=Thu Aug 06 11:22:01 CEST 2020,length=-1
#### Java Web Start Error:
#### Unable to load resource: (http://localhost:8080/7r/lib/log4j.jar?version-id=ERROR_1596704097387¤t-version-id=1593770090000, ERROR_1596704097387)
We finally solved it by updating all of the plugins and it seems, key point was to clear all of the Java cache. Now we are on Servoy Developer 202003.1 LTS Very nice.
Databases who are supporting this (for now only postgresql) will use the ANY (?) instead of IN (?,?,?) when possible for queries.
I am not sure about how to read this. The ANY keyword needs a preceding operator like =, >, … so the equivalent for the “IN” is “= ANY”. Is my assumption correct that IN is replaced by “= ANY”?
Furthermore, how to read the Postgres part: For example, SQL Anywhere 17 is supporting ANY. Does the ANY support for Postgres mean that support for additional databases like SQL Anywhere will be added successively in the future?
Importing one of our applications as .servoy file leads to the attached warning on solution import. As the creation of the index is done at importing the solution by Servoy, I assume I can’t influence this. It’s an assumption, as the warning text is not completely clear to me.
Found this entry in the Servoy_log.text file. There is a pk index on this table, so I assume the warning references with a high probability a primary key index.
There is no index on the column message_key. So don’t know why the import process is not able to create an index for column message_key.
Of course I could create an index on this column manually, but don’t know if that is useful, as then it would conflict with the import process trying to create an index for this column.
jcompagner:
this is not about the pk
this is just an index that we try to create on the message_key column
why it fails should be reported in the log as i said before…
we also log the error: log.error(“Failed to create an index on the messages table”, e);
(besides reporting it to the import channel that you show above)
Error in log file is as below. The strange thing is there is no index named ‘i18n_messages_m_l’. I have expected to find an index with this name, hence the “not unique” info. There is no index on the column message_key at all. Could it have to do that we have more than one i18_message_xxx tables?
2020-08-12 11:32:08,133 ERROR [http-nio-8080-exec-9] com.servoy.j2db.persistence.XMLInMemoryImportHandlerVersions11AndHigher - Failed to create an index on the messages table [ ]
com.servoy.j2db.persistence.RepositoryException: com.sybase.jdbc3.jdbc.SybSQLException: SQL Anywhere Error -111: Index name 'i18n_messages_m_l' not unique
at com.servoy.j2db.server.persistence.Zn.createIndex(Zn.java:1563) ~[j2dbdev.jar:2020.3.1.3563_LTS]
at com.servoy.j2db.server.Za.Zl.importDatabaseInfo(Zl.java:869) [j2dbdev.jar:2020.3.1.3563_LTS]
at com.servoy.j2db.server.Za.Zag.Za(Zag.java:87) [j2dbdev.jar:2020.3.1.3563_LTS]
at com.servoy.j2db.server.Za.Zag.importFromJarFile(Zag.java:557) [j2dbdev.jar:2020.3.1.3563_LTS]
at com.servoy.j2db.server.servlets.ConfigServlet.Za(ConfigServlet.java:5850) [j2dbdev.jar:2020.3.1.3563_LTS]
at com.servoy.j2db.server.servlets.ConfigServlet.service(ConfigServlet.java:326) [j2dbdev.jar:2020.3.1.3563_LTS]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [servlet-api.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:9.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.26]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.26]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.26]
at org.sablo.filter.SecurityFilter.doFilter(SecurityFilter.java:48) [sablo_2020.3.1.3563_LTS.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.26]
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.11.2.jar:2.11.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.26]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [catalina.jar:9.0.26]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.26]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) [catalina.jar:9.0.26]
at org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:289) [catalina.jar:9.0.26]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.26]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.26]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) [catalina.jar:9.0.26]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.26]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.26]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-coyote.jar:9.0.26]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:9.0.26]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) [tomcat-coyote.jar:9.0.26]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589) [tomcat-coyote.jar:9.0.26]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.26]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_221]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_221]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.26]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]