Hi,   Thanks for your answer.   I chose this storage system because my goal is 
to setup an active/passive pair of servers (with continous db replication on 
the passive side and automatic seemless failover) in order to provider high 
availability. It was the only supported backend I have found providing an easy 
way to achieve this goal (no three tier cluster with qorum and/or manual 
failover with conventional RDBMS).   But according you John's answer, I think I 
will have to change my mind anyway.   As my computer does not meet the 
requirements for serious Java developement, I am working remotely on an beefed 
up VM with plenty of RAM and CPU cores. And for that, VSCode has a very nice 
remote session extension, using ssh. Since Java related extensions don't seem 
to work correctly this way (maybe they work better localy, I don't have enough 
resources to test it), I am indeed using two shell sessions to run commands : 
one for building (clean build), and the other one for running (bootRun).   I 
have seen some posts here and there relating unexplainable problems with 
Gradle, and wiping out all the folders solved them. So I gave a try too !   My 
actual log4j config has a logger defined this way :              And I am 
adding "LOGGER. debug" directives here in there. Should it be ok ?   I had a 
look at several IDE, and IDEA free has no remote support unfortunately. Need to 
have a look at Eclipse and Netbeans too, but it seems they have the same 
limitations. So better make a wise choice before investing time and energy in 
such a complex product.   Regards

Le 23-Aug-2023 19:53:05 +0200, r...@uvic.ca a crit: 
 Could you use a different storage system?   I do not see the couchdb module in 
the current development branch. Not sure if it is being removed or if a 
different module takes on that feature.   Instead of running gradlew in vscode, 
you can run it from the command line. The 'clean' part of the command will 
remove all .class files; no need to get rid of gradle directories unless you 
are changing gradle version (which you should not). Once you build the project, 
remove 'clean'; only modified packages will be rebuilt (will be fine for 
logging, but not for api changes).   It is possible that method is not being 
called. You could put your logging statement in every method in that class to 
be sure. Also, use error level logging. Default logging for that class may not 
show at info or debug. Or add to log4j2.xml:      If you want a more 'capable' 
development environment, here are some notes on intellij (I think there is a 
free version), 
https://apereo.github.io/cas/development/developer/Build-Process.html#intellij-idea
   Ray   On Wed, 2023-08-23 at 17:43 +0200, spfma.tech via CAS Community wrote: 
 Notice: This message was sent from outside the University of Victoria email 
system. Please be cautious with links and sensitive information.    Hi,   I am 
still trying to understand what is wrong with 
"cas-server-support-gauth-couchdb" (only the first authenticator is recorded in 
the database, none is working anymore after a restart).   As I am not a Java 
dev (I don't have the skills and don't have the most convenient tools), my idea 
was to add some logging directives here and there to trace the process, using 
the latest branch of the application source code (not the overlay one).   Can 
someone confirm I am doing the right way : - add "import 
lombok.extern.slf4j.Slf4j;" if missing on the top of the class file - anotate 
the class definition with "@Slf4j" - put stuff like "LOGGER.debug" or 
"LOGGER.info" as needed   VSCode is my tool, and it seems convenient extensions 
for Java/Maven/Gradle are not able to handle a big project like CAS (language 
server crashing and restarting all the time, Gradle extensions unable to build 
a tree of all subprojects without crashing, ...) so I don't mind using the good 
old manual way instead of wasting time.   After modifying the code here and 
there, I rebuild the whole app with "./gradlew clean build --parallel 
--configure-on-demand --stacktrace --no-daemon -x checkstyleMain" at the root 
of the project.   And "cas/webapp/cas-server-webapp-jetty$ ../../gradlew 
bootRun --parallel --configure-on-demand --build-cache --stacktrace --no-daemon 
-x checkstyleMain" allows me to try it (we use it with Jetty in production).   
The app is running, I can reproduce the problems but I have the feeling my 
modifications don't exist as none of my custom logging messages is displayed.   
For an example, I added a simple logging flag in this file 
"support/cas-server-support-gauth-couchdb/src/main/java/org/apereo/cas/couchdb/gauth/credential/GoogleAuthenticatorAccountCouchDbRepository.java"
 this way :     @View(name= "by_username", map= "function(doc) { 
if(doc.secretKey) { emit(doc.username, doc) } }") public 
ListfindByUsername(finalString username) { LOGGER.debug("[MY_DEBUG_STUFF] 
findByUsername@GoogleAuthenticatorAccountCouchDbRepository={}", username); try 
{ return queryView("by_username",username.trim().toLowerCase()); } catch 
(finalDocumentNotFoundException e) { LOGGER.trace(e.getMessage(), e); } return 
newArrayList(0); }     as I think it's the one responsible for database lookup, 
according to the request I have seen coming on database side.   But nothing in 
the logs ... Maybe I am not tagging the right source file ?   So why not tweak 
a known existing log message, it is safer. In 
"support/cas-server-support-gauth-couchdb/src/main/java/org/apereo/cas/gauth/token/GoogleAuthenticatorCouchDbTokenRepository.java"
 I changed the message in "cleanInternal" method. The string "Removing tokens 
older than" is only found in this file, so I think it's spot on.   After 
rebuilding and restarting the application, I still get the original message in 
my logs.   DEBUG 
[org.apereo.cas.gauth.token.GoogleAuthenticatorCouchDbTokenRepository] -

-- 
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cas-user+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/eaeb63a6c9f28e4f6ab434ee928f9079381d026d%40mail.de.

Reply via email to