Je personnalise mon installation OpenCms et j'ai créé un objet qui fournit une partie de mon contenu. L'objet modifie ce contenu une fois par heure. Pourriez-vous me dire comment charger ce bean au démarrage d'OpenCms afin qu'il reste en mémoire et qu'il puisse configurer son minuteur?OpenCms - modifier périodiquement le contenu d'un fichier
0
A
Répondre
1
Après quelques heures de recherche et d'essais, je l'ai découvert deux façons de le faire:
1) définir la classe comme la classe d'action du module - Je ne l'ai pas testé cette approche
2) utiliser le planificateur de travail disponible dans la couche d'administration - c'est ce que j'ai essayé et cela fonctionne très bien. Vous devez créer une classe qui implémente l'interface I_CmsScheduledJob, par exemple:
package com.xxx.Trial;
import org.opencms.file.*;
import org.opencms.main.*;
import org.opencms.scheduler.I_CmsScheduledJob;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class BuildTagCloud implements I_CmsScheduledJob {
private String text;
public String launch(CmsObject object, java.util.Map parameters) throws java.lang.Exception {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String data = "Last run: " + sdf.format(cal.getTime());
this.text = data;
String resname = "/system/modules/com.xxx.Trial/elements/file.jsp";
// CmsObject object = OpenCms.initCmsObject("Guest");
object.loginUser("Admin", "admin's password");
CmsRequestContext cmsContext = object.getRequestContext();
CmsProject curProject = cmsContext.currentProject();
if(curProject.isOnlineProject()){
CmsProject offlineProject = object.readProject("Offline");
cmsContext.setCurrentProject(offlineProject);
}
CmsResource res = object.readResource(resname);
object.lockResource(resname);
CmsFile file = object.readFile(res);
file.setContents(text.getBytes());
object.writeFile(file);
OpenCms.getPublishManager().publishResource(object, resname);
object.unlockResource(resname);
return text;
}
}
J'espère que cela peut aider quelqu'un!
Questions connexes
- 1. Lire le contenu du fichier texte périodiquement dans l'application C#
- 2. modifier le contenu du fichier
- 3. Modifier le contenu du fichier
- 4. Config OpenCms et MySQL: max_alllowed_packed
- 5. Localisation OpenCms
- 6. intégrer WebApplication et OpenCms
- 7. Pratiques de production OpenCMS
- 8. comment lire périodiquement le contenu sur stdout redirigé vers un descripteur de fichier en utilisant dup2
- 9. fichiers bouclez - OpenCMS
- 10. Modifier le contenu DIV sur SELECT modifier
- 11. Modifier le contenu d'un fichier multiligne en une liste
- 12. Ruby: Comment modifier le contenu d'un fichier CSV?
- 13. Modifier le contenu d'un Iframe
- 14. OpenCMS - 301 redirection
- 15. Appeler TextView.setText() provoque périodiquement le jerk
- 16. Modifier le contenu de TYPO3 en templavoila
- 17. AJAX modifier le contenu de la page
- 18. Modifier dynamiquement le contenu d'un graphe matplotlib
- 19. Comment modifier le contenu de ComboFieldEditor?
- 20. OpenCms: Comment accéder au contenu de l'élément xml à partir de plusieurs fichiers de schéma
- 21. Modifier et modifier le fichier de fenêtres index.dat
- 22. OpenCMS ajouter la propriété à une page
- 23. Android Handler périodiquement
- 24. Modifier le fichier en jar
- 25. Modifier le fichier ext avec GreaseMonkey?
- 26. Comment déballer le contenu d'un fichier JavaScript?
- 27. contenu dans le fichier zip
- 28. Contenu dans le fichier zip
- 29. Affiche le contenu d'un fichier
- 30. Comment écrire le contenu d'un fichier dans un autre fichier?