メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

Java

java.util.regex.Patternで取ったmatcherのgroupが取得できない

マッチしてるはずなのにIllegalStateException thrown: No match found たとえば、ある文字列が「画面ID + 定型文字列」であるとして、ここから画面IDを抜き取るという実装を正規表現で行う場合… jshellで実行してみると まずは文字列の定義をします。この場…

「JDK 11リリース記念:今知っておくべきJDK 11の重要ポイント」参加

「JDK 11リリース記念:今知っておくべきJDK 11の重要ポイント」JJUGナイトセミナーの参加レポートです。

名古屋Javaユーザグループ2018年4月に参加してバイトコードについて考えた #nagoya_jug

地方(?)イベント初参加 よく"出張のついでに地方のイベントに参加"なんて話を聞くことがあり、そんな都合のいい事があるかいな、と思っていましたが、幸運なことにそれが訪れたので初参加です。(勝手がわからないので緊張しますね) ngo-java.connpass.com …

大きなファイルサイズのアップロード時にRequest exceeded size limit! FileUploadBase$SizeLimitExceededException the request was rejected because its size exceeds the configured maximum

タイトル長くてスミマセン。 環境 ・Wildfly 10.1.0.Final・Struts 2.3.34 最初に解決方法を書いておきます Wildfly設定 (standalone.xml) <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" /> ↓ </http-listener>

ThymeleafのJava 8 LocalDateTime対応で選択変数式th:objectとth:textの実装方法

Java8のLocalDateTimeをThymeleafで使うには build.gradleにthymeleaf-extras-java8timeを足して@Configurationの付いたクラス(ThymeleafConfigとか)にjava8TimeDialect()を実装してhtmlのth:textでは"${#temporals.format(myDatetime}, 'yyyy/MM/dd HH:mm')…

JJUG CCC 2017 Spring スライドまとめ(随時更新) #jjug_ccc

まとめました JJUG CCC 2017 Springの発表資料(スライド)を纏めました。現在非公開になっているものは見つけ次第、追記していこうと思います。 また、漏れてたり間違ってたり追加があったり後に非公開になったりした場合は @ryoichi_obara までお知らせ頂け…

EclipseLinkで取得した値のスペースがトリムされてしまう

環境 Oracle 12c EclipseLink 2.5.2 JPA (Native Query) 現象 EclipseLink(JPA)において、CHAR型の主キー(PK)の値を取得すると末尾のスペースが取得できない。(rtrimされたような状態で取得される) こういうフィールドはVARCHARで設計すべきという一般論もあ…

Wildfly/JBossでIllegalStateException: UT000047: The number of parameters exceeded the maximum of 1000

突然のIllegalStateException こんなエラーが出た時の話です。 YYYY-MM-DD HH:mm:SS,SSS ERROR [io.undertow.request] (default task-40) UT005023: Exception handling request to /MyApplicationWeb/SCREEN_ID/.action: java.lang.IllegalStateException: …

Struts2のJSP内でenumやインナークラスへアクセスする方法 (OGNL式)

環境 ・Struts 2.3.30 今回はenumやインナークラスへのアクセスです 以前も似たようなことを書きました。 ryoichi0102.hatenablog.com enumへのアクセスもstaticフィールドと同様 こんな実装だったとしたら package fully.qualified.packagename;public enum…

Calling a content assist in switch statements in lambda expressions in Eclipse causes EXCEPTION_ACCESS_VIOLATION

Overview I found a bug in JDK/Eclipse that causes EXCEPTION_ACCESS_VIOLATION when call content assist in switch statements in lambda expressions. Sample code below. new ArrayList<String>().forEach(element -> { switch (element) { // CRASH TO CALL C</string>…

EJB3でネストされたStateless Beanのトランザクションの伝搬がされなかった話

イージーミスの話です EJB 3 + JPAっていい @Statelessアノテーションを1つ付すことで、EJBとみなすことができトランザクションも自動で管理されるという手軽さ/良さがウリですね。 また、EJBからEJBを呼び出した場合(ex. EJB_A⇒EJB_B)、デフォルトで同一ト…

Struts2でApache POIのExcelダウンロードで日本語ファイル名が文字化け

環境 ・Wildfly 10.0.0.Final・Struts 2.3.29・Struts Convention Plugin 2.3.29・Struts2 CDI Plugin 2.3.29struts.xml での struts.enable.DynamicMethodInvocation は true 現象 Apache POIで生成したxlsをStruts2でダウンロードすると日本語ファイルが文…

Struts2のJSP内でstaticメソッドを呼び出す方法

環境 ・Struts 2.3.29 EL式とかOGNLを使うのですが Struts2にはELやOGNLなどがあり下記のサイトが大いに参考になるのですが sites.google.com 上記のサイトを参考に <s:if test="%{sampleSign == @fully.qualified.package.ConstantClass@SAMPLE_SIGN_A}"> こんな感じのコードを以前実装しており、既に動いていたのでstaticメソッドも同様に呼び出</s:if>…

Lombokでbooleanのgetterの接頭辞をisからgetに変える方法

booleanのgetterがisになっちゃう Eclipseでもデフォルトのgetter接頭辞はisになっていることがありますがgetで統一したいこともあると思います。オレオレO/Rマッパーとかコードジェネレーターとか使ってると特に… Eclipseだと ウィンドウ ⇒ 設定 でJava ⇒ …

Lombokの@Getter @Setterに@Overrideを付ける

先に断っておきますが、たいした内容ではないです。 Lombok便利ですよね。getter/setterなどの見た目上は無駄なコードの生成をやってくれます。 親クラスでgetterやsetterがabstractメソッドで存在している場合は@Overrideを付けたい場合があります。 @Overr…

Javaで英単語を単数形/複数形に変換する処理 (singularize/pluralize)

要件 英単語を単数形⇔複数形に変換したい、逆も然り、Javaで。 具体的には 単数形⇒複数形への変換は単語にsを付けるだけと思いきや・box⇒boxes のようにesが付くパターン・company⇒companies のようにyが消えてiesが付くパターン・people⇒person のように違…

Struts2+CDIでラムダを使ってるクラスでThere is no Action mapped for...が出る

誠に遺憾です 環境 ・Wildfly 10.0.0.Final・Struts 2.3.29・Struts Convention Plugin 2.3.29・Struts2 CDI Plugin 2.3.29struts.xml での struts.enable.DynamicMethodInvocation は true どこでどうエラーになるか ・Wildfly始動時:問題なし ・(始動後初…

Struts2をTomcat⇒Wildfly10に移行してEE環境(CDI+EJB+JPA)にしたら動かなくなった

Tomcat…+Strus2+JPA(EclipseLink)をWildfly10+Struts2(ここはそのまま…)+CDI+EJB+JPA(Hibernate)でEEになったのになぜか色々動かなくなった件について上手に書けたら公開します。。— Ryoichi Obara (@ryoichi_obara) June 16, 2016 上手に書けたら…と言いつ…

Java EE GuardiansとJava EEの未来やOrcleとJCPについて

まず最初にJCPについて説明しますよ Javaの仕様策定というのはOracle社がやっているわけではなくSun時代に"Javaの仕様策定はコミュニティベースでやっていこう"と打ち出された斬新な戦略だったのです。それがJCP (Java Community Process) であり誰でも参加…

Pleiades Eclipseでコード補完時に突然落ちる (JDK8u92)

現象 Pleiades Eclipse (Luna) でJavaのコード補完 (Ctrl + Space) をするとEclipseが突然落ちる。別マシン(同僚)でも発生。 C:\pleiades.luna\eclipse\*.logにエラーログが出てて、ダンプか何かが書き出されている。 環境 ・Pleiades All in One 4.4.2.v201…

xmlの検証で"文書に対する文法制約(DTDまたはXMLスキーマ)の参照がありません。"を解消させる

Eclipseビルド警告(warn)撲滅週間です。 特にxmlがヤラしいのです。今回はAntのbuild.xmlです。 先頭に <project name="properties-exchanger" default="devlocal"> みたいに書くと思いますが、文書に対する文法制約 (DTD または XML スキーマ) の参照がありません。が出るんですねぇ。 AntにおいてはxmlのDTDが定義し</project>…

Javaをアップデートして、Eclipse/Pleiadesを起動しようとしたらエラー

Javaをアップデートして、Eclipse/Pleiadesを起動しようとしたらエラー こんな感じ。 ----------------------------------------Java was started but returned exit code=13C:\ProgramData\Oracle\Java\javapath\javaw.exe-Dosgi.requiredJavaVersion=1.7-X…

IE11(Edge)で画面遷移しないけどChromeとかでは動く

Java EE 6 / JSF 2.0 で。毎日WebSphereと戦ってました。。 POST-REDIRECT-GETを使っている関係なのかEdgeのバグなのかJSFで画面がまったく遷移しないなんてことがありました。 JSF2.0でボタンの2度押しチェックをする - 見習いプログラミング日記(PRG; POS…

ExceptionHandlerWrapperでInjectできない

Java EE 6 / JSF 2.0 で。 上記のブログを参考に進めていたのですがExceptionのハンドリング時にログを出す処理ってよくあると思います。 現在の手元の実装がLoggerにProducerを使用しているので @Inject が使えない。。取れないのでNullPointerExceptionに…

JSFのcommandLink動かん [WebSphere 8.5 (MyFaces) JSF 2.0]

Java EE 6 / JSF 2.0 で。(追記:どうやらJSFの実装がMyFacesだとこの現象が出るようですね。 Mojarra(Wildfly)では出ませんでした。id:kikutaro777さんありがとうございます!) JSF+jQueryな時って、レンダリングさたhtmlは <form id="j_id425786386_6463da65" ~~><input id="j_id425786386_6463da65:userName" ~~> みたいにformIdとidが:(コ</form>…

#JavaDayTokyo 2015参加レポ

最近技術ではなくレポしか書いてない気がしてならないid:ryoichi0102ですコニチワ。 今回参加したのはJava Day Tokyo 2015です。http://www.oracle.co.jp/jdt2015/ ■ Java Day Tokyo 2015 基調講演 Java 20周年ということでケーキやHappy Birthday合唱があっ…

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!]

本業にて繋がりがあり(繋いで頂き)、また、有り難いことに献本を戴きましたので報告を兼ねて、簡単ですが本ブログで書籍の紹介をさせていただきます。 乃木坂カラー(?)がイイ感じの「Javaエンジニア養成読本」(私のデスクには本を面陳で飾るスペースがあり…

より良いisNullOrWhitespaces

意外?でもないけどメモ。 private static final Pattern PATTERN_SPC = Pattern.compile("\\s*");public static boolean isNullOrWhitespaces(String value) { // 1000000loop=172,168,189,166,203 // return (null == value) || PATTERN_SPC.matcher(value…

MacのJAVA_HOMEはbin下ではなくbin/java

私だけでしょうか。。 $ 【何かJavaを使うシェル】/**/**/*.sh: line 000: /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/bin: is a directory って出てた問題なんですがホームの.bash_profileにて書いていたJAVA_HOMEが export JAVA_HO…

Checkstyleで規約無視を警告に出さない方法

ニーズあるかと思います。 >|java|public class SampleClass { private static final SampleClass instance = new SampleClass();<|| たとえばSingletonパターンで実装する場合、インスタンスの定数名などはデザパタの役割上の命名に基づいて命名することが…