スキップしてメイン コンテンツに移動

投稿

3月, 2020の投稿を表示しています

Java 3Dの開発環境の構築 (2020年3月版)

Java 3D 大昔に作ったJava3Dのアプリケーションを復活させようと悪戦苦闘しているのですが、 最近(といっても2012年)にJava3DはOpenGLベースに移行して、細々と開発が続いていることがわかりました。 https://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/ https://jogamp.org/wiki/index.php/Java3D_FAQ (参考) いまだに残っているoracleのページのJava 3Dのバージョンは1.5.1です。 筆者はWindows 10環境ではインストール試していません。 https://www.oracle.com/technetwork/java/javase/tech/index-jsp-138252.html Java 3Dの開発環境の構築 https://jogamp.org/deployment/java3d/  のダウンロードページからjarなどを落としてもよかったのですが、mavenでプロジェクト管理しているので、多少古いバージョンの1.6.0.1をpom.xmlに追記して対応しました。 https://mvnrepository.com/artifact/com.massisframework.j3d/java3d-core https://mvnrepository.com/artifact/com.massisframework.j3d/vecmath <!-- https://mvnrepository.com/artifact/com.massisframework.j3d/vecmath --> <dependency> <groupid>com.massisframework.j3d</groupid> <artifactid>vecmath</artifactid> <version>1.6.0.1</version> </dependency> <!-- https://mvnrepository.com/a

MySQLでトランザクションを長時間掴んだままのプロセスを強制終了させる方法

下記のようなコマンドで実行できます。{}で囲った部分は実際の運用に応じて値をあてこんでください。 mysql -u{user} -p{password} -e "SELECT CONCAT('kill ', pl.id, ';') FROM information_schema.processlist AS pl INNER JOIN information_schema.innodb_trx AS trx ON trx.trx_mysql_thread_id = pl.id WHERE pl.time > {time_to_kill};" |sed -e '1,1d' | mysql -u{user} -p{pass} 上記のコマンドの簡単な解説です。 information_schemaのprocesslistテーブルとトランザクションを管理しているinnodb_trxテーブルをjoinして、{time_to_kill}秒以上実行されているプロセスを特定し、特定したプロセスをkillするsqlコマンドを生成 mysql -u{user} -p{password} -e "SELECT CONCAT('kill ', pl.id, ';') FROM information_schema.processlist AS pl INNER JOIN information_schema.innodb_trx AS trx ON trx.trx_mysql_thread_id = pl.id WHERE pl.time > {time_to_kill};" 生成された行の1行目はヘッダーなので削除(sedコマンドを使って、1行目から1行目までを削除)。 sed -e '1,1d' 最後の部分で、生成されたsqlをmysqlに流し込んで実行させる。