Skip to content

Instantly share code, notes, and snippets.

@lolson
lolson / HeartbeatEventEJB
Last active August 29, 2015 14:03
Heartbeat Thread EJB
@Singleton
@Startup
@Remote(HeartbeatEvent.class)
public class HeartbeatEventEJB implements HeartbeatEvent {
private final static Logger logger = LoggerFactory.getLogger( HeartbeatEventEJB.class);
private Thread t;
private Worker w;
@Override
@lolson
lolson / gist:826072e91c408b38f3c2
Last active August 29, 2015 14:04
Check files loaded by Classloader
for(java.net.URL url:((java.net.URLClassLoader)ClassLoader.getSystemClassLoader()).getURLs()){
System.out.println(url.getFile());
}
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// ...
}
@lolson
lolson / gist:3d2dcb59eb3c535fad7e
Created September 15, 2014 16:29
Load file as resource packaged in a war file
Thread.currentThread().getContextClassLoader().getResourceAsStream("gov/nasa/gsfc/cof/web/data/cities.txt")
@lolson
lolson / TomcatLogViewService.java
Last active April 7, 2016 18:02
Parse tomcat logs and insert them into a hashmap. Matches log entries that match a date timestamp regex and concatenates any subsequent detail log entries into a single line until it reaches the next entry starting with a date.
public class LogService {
private static HashMap<Integer, String> esbLogCache = new HashMap<Integer, String>();
private static String logDateRegex = "^[a-zA-Z]{3} (\\d)+, (\\d){4} (\\d)+:(\\d){2}:(\\d){2} (AM|PM).*";
static {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(getEsbLog()));
int row = 0;
boolean firstRead = true;
for (String line = br.readLine(); line != null; line = firstRead ? br.readLine() : line) {
@lolson
lolson / tailLog
Created April 19, 2016 21:53
A java implementation of tail
// See JLogTailer
public void tailLog(File file) {
boolean running = true;
int updateInterval = 1000;
long filePointer = file.length();
try {
while (running) {
Thread.sleep(updateInterval);
long length = file.length();