Meine Webapp mit Feder 3.2.4 läuft gut. Aber wenn ich es starte, werde ich Debug-Infos bekommen:
%Vor% Ich weiß nicht, was die Infos bedeuten. Ich verwende c3p0
als mein dataSource
und die Konfiguration lautet:
Ich finde nicht, wo JNDI
verwendet wird. Ich habe einige Fragen zu dieser Ausnahme gesucht. Sie sind jedoch immer mit @Profile
oder @Configuration
verknüpft. Es gibt keine @Profile
oder @Configuration
in meinem Code.
In meiner Bean-Klasse gibt es keine @Bean
Annotation. Sind die Infos damit verbunden? Aber ich brauche keine Spring inject meine Bohnenklasse.
Dies ist das JIRA-Problem und eine kurze Erklärung, warum es zum ersten Mal im Frühling 3.2 eingeführt wurde. Weitere Details finden Sie im ersten Commit für diese Funktion.
> Im Grunde ist diese Funktion eine Möglichkeit, über JMX eine Live-Liste von Beans bereitzustellen, die in einem Anwendungskontext einer bestimmten Anwendung existieren. Beispielsweise haben Sie in Tomcat eine Webapp bereitgestellt, die Sie beim Starten als eine Umgebungsvariable mit dem Namen spring.liveBeansView.mbeanDomain
übergeben. Nehmen wir an, Sie geben ihm keinen Wert oder nur einen leeren String. Spring sucht eine lange Liste möglicher Standorte für diese Art von Eigenschaft und findet sie in der Systemumgebung. Wenn es gefunden wird, wird es wissen, dass diese Liste von Live-Beans (im JSON-Format) über JMX verfügbar gemacht wird.
Wenn Sie mit JConsole eine Verbindung zu Ihrer Tomcat-Instanz herstellen, sehen Sie einen Eintrag mit dem Namen DefaultDomain
und darunter den Namen Ihrer Anwendung. Wenn Sie erweitern, sollte ein Attribut mit dem Namen SnapshotAsJson
vorhanden sein, und dies ist die Live-Liste der Beans aus dem Anwendungskontext Ihrer Webanwendung.
Wenn Sie Ihrer Systemumgebungsvariablen einen Wert gegeben hätten, sagen wir "test_domain", würde der Eintrag in JMX test_domain
und nicht DefaultDomain
heißen.
Im Grunde sehen Sie diese DEBUG-Nachrichten, weil Spring nach der Eigenschaft spring.liveBeansView.mbeanDomain
in einer langen Liste von Speicherorten sucht, wobei JNDI (im Falle von JEE-Servern) einer davon ist.
In der neuesten Version von SpringSource Tool Suite (und möglicherweise in einigen früheren Versionen) gibt es eine Funktion, die diese JMX-Live-Beans namens "Live Beans Graph" verwendet, die diese JSON-Darstellung verwendet und eine etwas einfache Grafik erstellt Darstellung dieser Bohnen.