Skip to content

Instantly share code, notes, and snippets.

View joshlong's full-sized avatar
🍃
i'm on Twitter @starbuxman

Josh Long joshlong

🍃
i'm on Twitter @starbuxman
View GitHub Profile
@joshlong
joshlong / DynamicDurationClientHttpRequestFactory.java
Created September 19, 2024 11:34
dynamically set the timeout for each request
package org.springframework.http.client;
import org.springframework.core.task.SimpleAsyncTaskExecutor;
import org.springframework.http.HttpMethod;
import org.springframework.util.Assert;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.time.Duration;
@joshlong
joshlong / ConvertAuthorities.java
Created September 4, 2024 09:50
demonstrates how to change the authorities of the incoming token to reflect reconciled user state
package com.example.client;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.core.simple.JdbcClient;
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper;
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestClient;
import java.util.Map;
@joshlong
joshlong / UAO.java
Last active May 19, 2024 09:05
this does the same thing as my existing unzip-and-open.py, but in less code and faster, with a compiler to help me.
// I'd suggest you create an alias somewhere:
// alias uao=java --enable-preview --source 21 $HOME/bin/UAO.java
// RUN: uao $HOME/Downloads/demo.zip
import java.io.*;
import java.util.function.*;
import java.util.* ;
void main(String[] args) throws Exception {
var zipFile = new File(args[0]);
@joshlong
joshlong / ReversingServiceApplication.java
Last active September 7, 2023 09:46
this is a simple network service that reverses strings. I'm using it to test out Project Loom
package com.example.demo;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
@joshlong
joshlong / VcConfiguration.java
Created July 22, 2023 14:02
AOT for Spring ViewComponents with Thomas
@Configuration
class VcConfiguration {
@Bean
static ViewComponentResourceAotProcessor viewComponentResourceAotProcessor() {
return new ViewComponentResourceAotProcessor();
}
}
package hollywood.framework;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.util.FileCopyUtils;
#!/usr/bin/env bash
PID=${1}
RSS=`ps -o rss ${PID} | tail -n1`
RSS=`bc <<< "scale=1; ${RSS}/1024"`
echo "${PID}: ${RSS}M"
@joshlong
joshlong / DatesApplication.java
Last active November 6, 2022 10:30
calculates when the version of Java converges with its age. Assumes Java Beta came out January 1995.
// run with
// java DatesApplication.java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Map;
public class DatesApplication {
@joshlong
joshlong / DemoApplication.java
Created September 20, 2022 09:32
This is a trivial Spring Boot 3 AOT application doing all sorts of stuff
/*
add schema.sql
create table customer
(
id serial primary key,
name varchar(255) not null
);
add spring boot starters as usual, then add: