問題タブ [embedded-tomcat-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
10369 参照

spring-boot - JNDI で組み込み Tomcat を使用した Spring Boot

埋め込み Tomcat で Spring Boot を使用しており、JNDI を使用しようとしていますが、次のエラーが発生します。

javax.naming.NameNotFoundException: 名前 [jdbc/dataSource]

どんなヒントでも大歓迎です。

これが私のコードです:

0 投票する
1 に答える
998 参照

jsf - XML の代わりに注釈を使用して、埋め込み Tomcat にカスタム コンポーネント タグを作成するにはどうすればよいですか?

編集: この問題を再現するために必要な唯一のテクノロジはJSF 2.2Spring Boot 1.2.1+ その組み込みTomcat 8.0.5サーバーです。この質問にリストされている他のすべては、私が使用している技術に関するコンテキストを提供するためのものです.

更新 #2: BalusC の考えに従って、サンプルのカスタム コンポーネントをベアボーンServlet 3.1+JSF 2.2アプリケーションに移植しました。そのコードは Github here にあります。

この単純なケースでは、ここで説明している問題は発生しません。@FacesComponent注釈が機能します。Spring 4.1.2これは、問題がまたはSpring Bootそれ自体によって引き起こされていることを強く示唆しています。遅くなりましたので、明日以降の調査となります。

@FacesComponentTL;DR:置換する属性とそのfoundation-components-html.taglib.xmlエントリ<component>を使用したいfaces-config.xml

現在、XML 定義を使用してプロジェクトで動作するカスタム コンポーネントがあります。私は最近、JSF 2.2が XML を完全に不要にする機能を導入したことを知りました。これを使用したいのですが、純粋に注釈を使用すると、JSF によって無視されます。生のタグが HTML に表示されます。

(つまり<custom:paragraph></custom:paragraph>)

Github でホストしている私のサンドボックスでこの問題を実証しました。その方法を知りたい場合は、この投稿の最後で説明します。

を削除し、 > のエントリをfoundation-components-html.taglib.xmlコメントアウトして、アプリケーションを実行するだけで問題が発生します。私はそれを「機能している」状態のままにしておいたので、助けたい人は誰でも簡単に、検証可能に正しい出発点を得ることができます。http://localhost:8080にアクセスするだけですfaces-config.xml<component

使用される技術:

  • スプリング ブート 1.2.1

  • Mojarra 2.2.6経由のJSF 2.2

  • 組み込み Tomcat 8.0.5

注:このセットアップは現在機能しますが、taglib および faces-config エントリで実行されていることに注意してください。私の質問は、最新の機能を使用してこれらの依存関係を削除する方法ですJSF 2.2

プロジェクト全体

カスタム コンポーネント

Taglib 定義

顔の構成

XHTML テンプレート(わかりやすくするために省略)

これを実行したい場合、最も簡単な方法は、Spring Tool Suite をダウンロードし、Github からコードを取得し、プロジェクトを右クリックして、Spring Boot アプリとして実行することです。(おそらく) ローカルの MySQL サーバーを実行していないため、JPA 構成が起動すると接続エラーが発生します。これについては心配しないでください。インデックス ページにアクセスしてタグのステータスを確認する必要はまったくありません。私は頻繁にアプリを実行し、DB を起動しても起動しなくても悪影響はありません。最後に、PrettyFaces を Spring Boot でうまく機能させるには、ターゲット/クラスから WEB-INF/ へのシンボリック リンクまたはハード リンクを作成する必要があります。PrettyFaces は、WEB-INF/classes または WEB-INF を参照するようにコーディングされています。注釈をスキャンするときは /lib。

BalusC のスニペット

この関数は、 でマークされ@Configuration、実装しているクラスに存在します。ServletContextAware

0 投票する
1 に答える
762 参照

glassfish - Spring Boot を使用した埋め込み Tomcat JNDI マップ

タイプ Map の JNDI リソースを設定する Glassfish を使用しています。いくつかの Bean ファクトリを定義した後、コードでこのマップにアクセス (JNDI ルックアップ) できます。

Spring Boot を使用した埋め込み Tomcat テストでも同じことをしたいのですが、方法がわかりません。どこでも、ハッシュマップではなくJNDIデータソースを追加する方法を参照しているだけです。私はこのようなことを試みましたが、それは完全に間違っていると思います。

オブジェクト ファクトリのどこに渡せばよいかわかりません。組み込みのTomcatでそれはまったく可能ですか?

0 投票する
1 に答える
4863 参照

spring-boot - 多くの (256 を超える) 値を含むフォームを投稿できません

Thymeleaf で Spring Boot 1.2.2 を使用しています。私の問題は、アイテムの長いリスト (いくつかのラベル、1 つのチェックボックス) をフォームに投稿しようとしているため、リストの非常に多くのアイテムを実行できないことです。(小さなリストをテストしたところ、うまくいきました。)

最初に jetty を使用しましたが、次のようなエラーが発生しました。

この投稿を検索して見ました。結果として、私は追加しました

私のgradle.buildに追加しましたが、うまくいきませんでした。その結果、Tomcat に切り替えたところ、再び失敗しました。エラーメッセージは次のとおりです。

256 エントリしか実行できないようです。私は約500のエントリを持っています。したがって、maxhttpheadersize を増やすと役立つと考え、次の行を application.properties に追加しました。

(-1 は制限なし) Thymeleaf フォームに method="post" を設定しました。256 の制限を増やす他の方法はありますか? 私は自分の結果を改ページしたくありません。助けてくれてありがとう。

0 投票する
2 に答える
1853 参照

jsp - SpringBoot 組み込み Tomcat JSPServlet オプション

checkInterval、keepgenerated、modificationTestInterval などの JSPServlet の構成オプションを設定するための推奨される方法は何ですか? 私がそれを変更しようとしている理由は、JSP コンパイルに関するいくつかの奇妙な問題のためです。実行可能な war パッケージを使用し、「server.tomcat.basedir」プロパティをローカルでアクセス可能なフォルダーを指すように設定しています。生成された JSP Java ソースおよびクラス ファイルは、変更日が 1970 年 1 月 14 日であることを示しています。Windows エクスプローラでは、変更は空として表示されます。Linux では、すべてのファイルに手を加えました。しかし、jsp ファイルが再びアクセスされるとすぐに、変更日は 1970 年に戻ります。これにより、jsp ファイルがアクセスされるたびにコンパイルされ、速度が低下しているとは思えません。ただし、再コンパイルは Linux 環境でのみ行われるようです。誰もこの問題を経験しましたか? 当方の環境:Spring Boot 1.2.2.BUILD-SNAPSHOT、Tomcat 8、JDK 1.8_025。

0 投票する
2 に答える
4085 参照

java - Tomcat 8 埋め込み - エラー {org.apache.catalina.core.ContainerBase} - 起動中に子コンテナーが失敗しました

私は tomcat 組み込みを使用していますが、サーバーにスターを付けようとすると、次のエラーが発生します。Tomcat 8.0.20 と jdk8 を使用しています

なぜ私はこれを得ているのですか?これを修正するにはどうすればよいですか?

0 投票する
1 に答える
1604 参照

spring-boot - 組み込みの Tomcat で Spring Boot の読み込み時間のウィービングが機能しない

Spring Boot 1.2.2 w/ Embedded Tomcat で LTW を動作させることができません。

私のアプリケーションは .JAR ファイルではなく、WAR ファイルです。DEBUGで実行すると、ポイントカットに一致するはずの呼び出しを実行しても、私の側面では停止しないため、機能していないと思います...

私の実行スクリプトはこれを行います:

Spring Boot では、この AOP Config を ApplicationInitializer としてロードするため、すぐに親の ApplicationContext にあり、その後の埋め込み tomcat Web アプリケーション コンテキストの残りすべてに対してそこにあるはずです。

私のアスペクトは次のようになります。

私の組み込み WAR の META-INF/aop.xml は次のとおりです。

0 投票する
1 に答える
822 参照

heroku - Heroku のようなクラウドで Web コンテナーをスケーリングする際に、Tomcat のポート番号が埋め込まれている問題に対処する

次のようにスケーリングされた 2 つの Web コンテナーがあるとします。

Web コンテナーは次のように実行されます (Dockerfile から)。

2 つの異なる組み込み tomcat が異なるポートを確実にリッスンするための最良の戦略は何ですか (たとえば、Heroku のようなインフラストラクチャを構築したい場合: foreman を参照)。

つまり、両方のコンテナが同じポートをリッスンするため、競合が発生します。

理想的には、2 つの tomcat インスタンスへのリクエストをラウンドロビンする必要があります。ツールやアイデアを探しています...

編集1

これが私が試したことです:

docker-compose.yml から:

./web/Dockerfile から:

ここに私が得るものがあります:

編集 2 : 編集 1 を無視してください。問題を再現できませんでした。

ただし、Tomcat で 2 つのインスタンスを正常に開始できましたが、ブラウザーを介してそれらにアクセスしようとしました。

無駄に。誰か助けてくれませんか?

0 投票する
0 に答える
522 参照

spring - spring actuator increases the metric counter.status.200.{my endpoint} even if the endpoint returns a 500

I've developed my first rest service with Spring Boot, Spring MVC Spring Actuator using embedded tomcat 8.

For some reason, when the endpoint fails due to an exception which is not caught, the returned response from the endpoint has the status 500, but the metric of counter.status.200. was increased.

I debug a bit the code and looks like the status of the response in the class ResponseFacade (from tomcat) is set after the metric is increased on the MetricFilterAutoConfiguration.MetricsFilter.

Does someone has an idea how can I get the right status code counter (counter.status.500.{my endpoint}) increased?

Thanks in advance